[C#] interface & abstract 程式紀錄

今天與前輩有了一段很有趣對話,算是我向對方請教了,抽象化的寫法。

一直以來我都只看過教科書上寫過,或是各大神的文章,簡單說當初的我要看我也看不太懂。

不知道為什麼對於說抽象、實作介面...看了就像是天文書。

但今天和前輩請教了,之前前輩寫了一段Api 的IRequest 簡單工廠。

其實之前我一直都不知道到底怎麼實用這些抽象化的東西。

今天總算是有消化進去了。

...繼續閱讀 »

[.NET MVC] 自訂驗證 實作紀錄

1.需透過一個Code,UserID 到SQL 內做條件的篩選 取得該UserID 是否符合Code的權限範圍

2.所以多設置了一個 AppAuthorizeAttribute  功能 程式碼如下

程式碼說明:

簡單說就是透過Controller 戴帽子方式蓋上去

因為繼承了AuthorizeAttribute,我們改寫原本OnAuthorization 的method

判斷如果有AppFunctionId 這個attribute 就走新的驗證,如果沒有就走原本AuthorizeAttribute 的驗證

接下來我們自訂的AuthorizeCore 也只是再進去SQL裡面SELECT 而已了

...繼續閱讀 »

[.net MVC][RDLC] RDLC 繪製 Gantt 甘特圖

小弟要先說,這篇是參考 http://pnarayanaswamy.blogspot.com/  和 影片

就是由於我在寫這功能時,實在花滿多時間踩雷、嘗試過太多方式

由於我接收到的需求是要把資料產生成甘特圖,並輸出PDF,再對PDF做與其他PDF合併的需求。

所以甘特圖的部分有先嘗試過 KendoUI的甘特圖輸出PDF - 這部分會遇到中文的問題 由於 Kendo UI 本身是用 Dejavu Sans 的字型 還需額外覆蓋

況且最後需求是希望用後端產生,不希望需要到前端網頁(由Kendo產生)才能拿到甘特圖,所以才用了RDLC 來當繪製甘特圖的元件。

--------------------------------------------------

...繼續閱讀 »

[.net MVC] Dapper動態接收、處理資料

有時候我們會有取資料需要Join 其他張表的情況,以前我的處理都是直接加欄位在ViewModel裡面

但其實有些時候可能就只會需要另一張表的一、兩個欄位,而且這一頁也就只用這一次

今天在Coding的時候與同事討論,我們決定用動態的方式來接收資料,不另外新增ViewModel Prop 

另外也有一種情況是Index時就已經有ViewModel 然後可以再把動態取得的這些 放在 ViewModel內
在Controller out 的部分就由ViewModel 傳回 以下方例子來看。原本out IEnumerable<dynamic> data 改寫到既有的ViewModel內
然後變成out VideModel 傳回

 

...繼續閱讀 »

[.net][MVC] AJAX Post 之後呢? 後端流程的想法

由於這一個CodeReview是一整個功能的Review,有時候被批評、指正的時候(尤其是在自己能力還不夠的時候)

都會懷疑自己是不是沒有天分 因為在看他們寫的東西地當下是覺得困難的,就像你看別人把拆解一個機械的過程Show給你看,通常會覺得還是有點困難,但當你真的融入那個拆解的過程,一步一步跟著做實際做之後就會發現,這一切是好的、完整的。

也因為這樣所以我才想把這些寫下來,警惕、期望自己更進步。

...繼續閱讀 »