實戰案例 - 微信平台與自有產品資料對接 (2)

前面瞭解過程式的背景需求和基本架構之後,接著就來看整個開發工作是靠哪些原始碼兜起來的。因為兩個 WinForm 的原始碼骨架都差不多,所以這邊就拿 SybaseUtility 專案當範例。

 

Service References

服務參考,下載功能會用到的 Web Service,也就是發佈到遠端網站的 WebUtility。

Business Objects

專案資料夾,存放業務邏輯會操作到的物件。

類別名稱程式檔名用途簡述
Json 內容Jsons.cs在資料進入或離開本工具之前,都需要先轉換成 Json 格式。
修理廠基本資訊Garages.cs從設定檔取得修理廠資訊,供後面呼叫使用。
資料上傳參數Arguments.cs呼叫第三方資料接收服務的所需參數。
上傳資料類型枚舉TransmitterGenre.cs要上傳到微信端的資料類型:例如客戶資料、銷售單等等。
上傳功能屬性Transmitter.cs資料上傳物件的屬性:當前資料類型、上傳提示、還原提示。
下載資料類型枚舉ReceiverGenre.cs要從微信端下載的資料類型:例如預約記錄、代辦申請。
下載功能屬性Receiver.cs資料下載物件的屬性:當前資料類型、下載提示、還原提示。

Constants

專案資料夾,存放與資料類型連動的相關常數。

類別名稱程式檔名用途簡述
預覽表頭提示文字HeaderText.cs DataGridView 上的標題文字。
預覽資料繫結欄位ColumnText.csDataGridView要和資料來源做繫結的欄位名稱。
資料過濾條件語句CriteriaText.cs篩選資料的 SQL 敘述。
資料過濾標題文字FilterText.cs做資料篩選時,輸入條件的提示文字。
候選資料主鍵索引PrimaryKeyIndex.cs資料表主鍵欄位在 DataGridView 中的位置。
資料預覽訊息提示PreviewState.cs狀態列顯示本機資料庫中,已上傳或未上傳資料的筆數。
傳送還原訊息提示FinishState.cs對話框提示有幾筆資料上傳完成或還原成功。

DataAccessObjects

專案資料夾,存放每個資料類型的資料庫操作類別和 SQL 敘述。

類別名稱程式檔名用途簡述
N/ASQLStatements子資料夾,存放本工具所有會用到的 SQL 敘述。
客戶資料存取CustomersDB.cs取得客戶資料、變更上傳狀態、還原上傳狀態等等操作。
銷售單資料存取SaleListsDB.cs取得銷售記錄、變更上傳狀態、還原上傳狀態等等操作。
維修記錄存取RepairingsDB.cs取得維修記錄、變更上傳狀態、還原上傳狀態等等操作。
會員卡資料存取VIPCards.DB.cs取得會員卡資料、變更上傳狀態、還原上傳狀態等等操作。
積分兌換項目存取CreditConvertItemsDB.cs取得積分兌換項目、變更上傳狀態、還原上傳狀態等等操作。
預約維修記錄存取ReservesDB.cs下載資料到本機資料庫、刪除狀態還原成功後的本機資料。

Facades

專案資料夾,存放每個資料類型用戶端操作和資料庫操作的中間層類別。

類別名稱程式檔名用途簡述
資料操作驗證Validating.cs操作資料前,提示是否已確認好資料狀態和資料類型。
資料來源設定DSNConfiguring.cs讀取或寫入資料來源設定檔的中間層。
修理廠設定GarageConfiguring.cs讀取或寫入修理廠基本資料設定檔的中間層。
傳輸服務設定WebServiceConfiguring.cs讀取或寫入資料上下載網址設定檔的中間層。
客戶資料上傳CustomersTransmitting.cs處理客戶資料預覽、過濾、上傳、還原的中間層。
銷售記錄上傳SaleListsTransmitting.cs處理銷售記錄預覽、過濾、上傳、還原的中間層。
維修記錄上傳RepairingTransmitting.cs處理維修記錄預覽、過濾、上傳、還原的中間層。
會員卡資料上傳VIPCardsTransmitting.cs處理會員卡資料預覽、過濾、上傳、還原的中間層。
積分兌換項目上傳CreditConvertItemsTransmitting.cs處理積分兌換項目預覽、過濾、上傳、還原的中間層。
預約記錄下載ReservesReceiving.cs處理預約記錄預覽、過濾、下載、還原的中間層。

Helpers

專案資料夾,存放處理資料上傳的通用類別,處理讀寫設定檔內容的通用類別,以及處理資料庫存取的通用類別。

類別名稱程式檔名用途簡述
設定檔內容讀寫ConfigHelper.cs讀寫設定檔內容,取得作業系統的ODBC資料來源清單。
資料上傳處理WebServiceHelper.cs跟據網址和上傳所需參數,呼叫第三方 Web Service 送出資料。
資料庫存取操作DbHelper.cs資料庫連接,取得 DataTable 或 DataSet 等等。

Interfaces

專案資料夾,存放主要物件的介面定義,用途在規範物件的共有行為。

類別名稱程式檔名用途簡述
基礎設定行為IConfiguring.cs所有設定都會有的行為,讀取和寫入設定檔內容。
上傳作業行為ITransmitting.cs所有資料類型上傳時都會有的行為,具體詳見備註一
下載作業行為IReceiving.cs所有資料類型下載時都會有的行為,具體詳見備註二

備註一:取得表頭文字,取得繫結欄位,變更過濾提示,取得預覽資料,取得過濾條件,取得主鍵索引,轉換資料格式,產生上傳參數,資料上傳作業,變更上傳狀態,還原上傳狀態。

備註二:接收微信端傳回的中介資料,將中介資料轉為 DataTable,取得表頭文字,取得繫結欄位,取得過濾條件,取得主鍵索引,候選下載資料繫結,候選資料寫入本機資料庫,微信端資料狀態變更,微信端資料狀態還原,還原狀態刪除本地資料。

 

Operations

專案資料夾,存放使用者與控制項互動的中間層類別,和使用者與上傳作業物件、下載作業物件互動的中間層類別,以及上傳作業與第三方 Web Service 互動的中間層類別。

類別名稱程式檔名用途簡述
按鈕狀態開關操作ButtonOperation.cs設定按鈕的可按與不可按。
控制項取值賦值操作ControlValueOperation.cs文字方塊、複選框,下拉選單的取值和賦值。
預覽控制項通用操作GridViewOperation.csDataGridView 在上傳下載模組都會有的操作,見備註一
資料下載操作ReceiverOperation.cs使用者與資料下載物件互動的相關操作,見備註二
資料上傳操作TransmitterOperation.cs使用者與資料上傳物件互動的相關操作,見備註三
第三方處理程序操作WebServiceOperation.cs上傳作業與第三方處理程序互動的相關操作,見備註四

備註一:清空預覽區,首欄建立複選框,資料繫結,計算並顯示預覽筆數,計算並提示處理筆數,取得符合篩選條件的資料,取得已勾選項目主鍵,取得所有項目主鍵。

備註二:建立資料類型下拉選單,設定點擊已下載時的按鈕狀態,設定點擊未下載時的按鈕狀態,跟據選擇的資料狀態和資料類型預覽資料,預覽資料條件篩選處理,下載所有資料,下載已勾選資料,還原所有資料,還原已勾選資料。

備註三:建立資料類型清單,設定點擊已上傳時的按鈕狀態,設定點擊未上傳時的按鈕狀態,根據選擇的資料類型改變文字提示,跟據選擇的資料狀態和資料類型預覽資料,預覽資料條件篩選處理,上傳所有資料,上傳已勾選資料,還原所有資料,還原已勾選資料。

備註四:產生所選資料類型的參數與參數內含值,呼叫所屬資料類型的 Web Service 上傳方法。

 

Tools

專案資料夾,存放的是資料格式轉換和資料映射處理的中間層類別。

類別名稱程式檔名用途簡述
資料格式轉換器DataConverter.cs收錄了幾種常用的資料格式轉換方法,詳見備註一
資料映射轉換器DataMapper.cs將 DataReader 轉成泛型集合的前置作業,資料欄位映射。

備註一:DataReader 轉泛型集合,DataTable 轉泛型集合,泛型集合轉 DataTable,DataGridView 轉 DataTable,DataTable 轉 Json,Json 轉 DataTable,Json 轉物件,物件轉 Json。

 

WinForms

專案資料夾,存放的是所有功能模組都會用到的視窗操作介面。

所屬模組

程式檔名

用途描述

 基礎設定fDSNConfig.cs資料來源設定。
 基礎設定fGarageConfig.cs 修理廠設定。 
 基礎設定fWebServiceConfig.cs第三方上傳設定。
 N/AfMDI.cs資料傳輸工具的入口,程式的主視窗。
 資料處理fTransmitter.cs 資料上傳介面,程式的子視窗。
 資料處理fReceiver.cs資料下載介面,程式的子視窗。

App.Config

整個 WinForms 專案的應用程式設定檔,設定檔內容主要有兩大區塊,第一個是基礎設定裡的每個設定項目和設定值,第二個是資料上傳 Web Service 的相關設定,例如最大傳輸容量、資料編碼方式等等。

 

转载于:https://www.cnblogs.com/hsw1976/p/4933838.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值