第2章EEP 2015快速入門(上)(單檔實作)第2章EEP 2015快速入門(上)(單檔實作)\2-1單檔實作—Server端程式

2-1單檔實作—Server端程式

Step1請先執行桌面上的SOLUTION1.sln,此時會進入VS2015開發環境。請在EEPServer按滑鼠右鍵,在選單中選Add->New Project..

2-1-1新建ServerProject

 

SolutionVS2015的專案集合名稱,一個Solution會有多個專案(Project),一個Project又可以包含有多個程式:EEP2015中,Solution我們可以定義成一個專案,如:進存系統、財會系統、生管系統、人薪系統等。

Project則代表一個獨立的模組VS2015會生成一個獨立的dll),如客戶管理、訂單管理、出貨管理等,一個模組也可以有多個U/I頁面,但大都會只有一個頁面。

EEP2015中的SOLUTION1是我們預設好的Solution,你可以從此開始往下開發,也可以另建一個Solution從新開始,但要注意的是Solution的目錄規劃,EEP2015中有特別的規定,與Solution有直接的關係,我們將於設計手冊說詳述。

 

Step2請選擇Project types->Visual C#,此時會看見右邊TemplatesMy Templates中有安裝時所Export的四個Template因為要實做Server端單檔,所以請選擇SSingle,接著將Name命名為S001Location設為C:\Program Files\InfoLight\EEP2015\方案同名資料夾。這個case,方案名稱是SOLUTION1。若在Template中無法找到SSingle可參考《(0)EEP2015-Setup.CHM》中的《1-2 EEP 2015資料庫及參數的設置》章節

2-1-2設定Server Project名稱和路徑

S001是指Server端的Project名稱,會Build出來S001.dll

MyProjec則是存放Source Code的目錄位置,目前請先配合存放在EEP2015之下,因為如果你想放在其他目錄者,必須配合去更改所有TemplatesBuild Path

【注】Templates是可以由設計者自行設計的,此只是EEP為你簡單設計了幾個Templates而已。

 

Step3按下OK後,自動產生ServerProject。在Component.cs上按滑鼠右鍵,在選單中選取View Designer

2-1-3

 

Step4Component 的設計畫面中將畫面做適時的調整後,按下滑鼠右鍵,選擇Save Location,接著要設定各個Component Property

2-1-4設定各個Component Property

 

這是因為你調整各個元件位置後,VS2015並無法自動將這些位置存下來,因此必須透過EEPSaveLocationLoad Location功能來達到目的,未來版本的VS2015有可能會解決此問題。

 

Step5設定各個Component Property

q  首先設定infoConnectionPropertyEEPAlias,請下拉選取ERPS

2-1-5設定infoConnectionProperty

 

infoConnection是僅用在設計模式的元件,在RunTime執行時是無須此元件的,為了讓開發者可以更容易開發與在設計時期顯示資料等用途。下拉選EEPAlias時會自動按EEP A/P Server上的資料庫設定來選擇,並自動抓取相對的ConnectionString

 

q  接著設定MasterinfoCommandPropertyCommandText

2-1-6設定MasterinfoCommandProperty

InfoCommand用來透過A/P Serverdatabase來取得資料,並打包資料給Client端,此CommandText就是指SQLSelect語句。

 

Œ 按下旁邊的按鈕後,會出現Command Text Editor視窗,請先按下Tables下方Add的按鈕。

 

2-1-6快速產生CustomerSQL Select語法

 

這是一個SQL語法的Wizard,透過此來快速產生SQLSelect語法,出現一個Tables的選擇表,請選擇Customers

 

 

  接著將焦點放在Customer上,可以看到右邊Columns中會出現該Table的所有欄位供選取。

Ž  按下Add *的按鈕,即可看到產生Command Textselect [Customers].* from [Customers]代表選擇所有欄位,如果按右邊的Add按鈕則代表要產生單一的欄位。

2-1-7快速產生CustomerSQL Select語法

  此時可以選取右邊的View頁面,並將Show Data打勾,藉此檢視SQL語法是否正確,檢視完畢按下OK離開。

2-1-8查看產生的SQL語句

 

q  接著設定Master infoCommandPropertyKeyFields(這部分的設定可能在預設值已經完成,如果已經設好就只要檢查一下

2-1-9設定Master infoCommandKeyFields

 

Œ  按下旁邊的按鈕後,會出現KeyItem Collection Editor視窗,代表要選擇這個TablePrimary Key為哪些欄位。請按下Members下面的Add

2-1-10添加Master KeyItem 欄位

  然後在KeyName的地方選取正確的鍵值欄位,此處是CustomerID

2-1-11選取KeyName鍵值欄位

 

Ž  設定完後就如下圖,按下OK離開

2-1-12存儲

InfoCommand設定Keyfields有兩個目的,一個是為了配合Client端的InfoDataSet中的PackedRecords設定,InfoCommand不是一次全部下載資料到InfoDataSet中的,而是依PackedRecords的設定來分批下載,為了能準確的分批下載,必須搭配KeyFields的設定;另一個目的是為了配合UpdateComp元件的Update/Delete動作時,必須在此兩個指令中自動設入WhereKeyfields定義才能順利異動資料。

 

Step6接著對此Project S001做編譯Build的動作,此時已經完成Server端程式。編譯完會產生一個S001.dll檔案。

2-1-13Project進行編譯

 

上圖中,其餘沒有介紹到的兩個元件分別是

ServiceManager:這是在EEP Server模組上一定要貼的元件,否則無法將Build出來的dll掛入A/P Server上執行,此用來分配database連線與提供Server Method的服務,一般情況下不必任何設定,除了想提供Server Method之外。

UpdateComp:這是配合InfoCommand用來對InfoCommand的資料自動進行Insert/Delete/Update所使用,只要將UpdateCompInfoCommand配對即可,暫時不必設定。

Step7然後到EEP .NET Server中,點選File->Package Manager

2-1-14設定A/P Server上要外掛的dll服務模組

 

此用來設定此A/P Server上要外掛多少Server端的dll服務模組因為A/P Server與各個dll是各自獨立的,因此,以後只要針對有更改的模組重新編譯即可,不必全部編譯一次。

 

Œ 在此視窗中按下左邊的Add

2-1-15點擊Add

  選擇到SOLUTION1的檔案夾中,在EEP A/P Server上的Server Module必須規定放在EEP2015\EEPNetServer\之下,因為此Solution名稱為SOLUTION1,因此我們選擇SOLUTION1這個目錄。S001.dll,再按下開啟。(EEP2015規定Solution名稱必須與目錄名稱一致)。

2-1-16加入編譯的S001.dll

Ž  將剛才編譯過的S001.dll加入,然後Save後,關閉此對話框。Save代表讓Server端永遠知道有這個Server的服務模組。

2-1-17存儲離開

 

到此,單檔的Server端已經設計完畢。

 


Top of Page