///----------------------------------------------------------------------- /// /// 程式代號: DBService /// 程式名稱: DBService /// 程式說明: /// 起始作者: Nelson /// 起始日期: 2016/09/03 17:03:37 /// 最新修改人: Hercules /// 最新修日期: 2017/05/15 12:24:49 /// ///----------------------------------------------------------------------- namespace CounsellorBL.BLStructure { using OT.COM.ArsenalDB; using System; using System.Collections.Generic; using System.Data; using System.Globalization; using CounsellorBL.Helper; public class QueryResponse { /// /// 類別成員、類別屬性說明:符合條件總數 /// public long TotalCount { get; set; } /// /// 類別成員、類別屬性說明:本次回傳總數 /// public long CurrentCount { get; set; } /// /// 類別成員、類別屬性說明:資料陣列 /// public List> Records { get; } = new List>(); /// /// 函式名稱:queryResponse /// 函式說明:建構式 /// 起始作者: /// 起始日期: /// 最新修改人: /// 最新修改日: /// /// 查詢結果 /// /// 回傳 /// /// public QueryResponse(QueryDataSet i_qdsOringinResult, Dictionary i_dicAdditionDataForEveryRow = null) { setup(i_qdsOringinResult, i_dicAdditionDataForEveryRow); } /// /// 函式名稱: /// 函式說明:建構式 /// 起始作者: /// 起始日期: /// 最新修改人: /// 最新修改日: /// /// /// 參數說明 /// /// /// 回傳 /// /// public QueryResponse() { } protected void setup(QueryDataSet i_qdsOringinResult, Dictionary i_dicAdditionDataForEveryRow = null) { if (i_qdsOringinResult != null && i_qdsOringinResult.DATA != null && i_qdsOringinResult.DATA.Tables.Count > 0) { DataTable dt = i_qdsOringinResult.DATA.Tables[0]; DataColumnCollection dcc = dt.Columns; int nSNCount = 1; this.TotalCount = i_qdsOringinResult.Total; this.CurrentCount = dt.Rows.Count; foreach (DataRow dr in dt.Rows) { Dictionary dicData = new Dictionary { { "sn", nSNCount } }; if (i_dicAdditionDataForEveryRow != null) { foreach (KeyValuePair kvp in i_dicAdditionDataForEveryRow) { dicData.Add(kvp.Key, kvp.Value); } } foreach (DataColumn dc in dcc) { object oData = dr[dc.ColumnName]; string sColumnName = dc.ColumnName.ToLower(CultureInfo.CurrentCulture); if (oData is string) { string sData = oData.ToString(); dicData.Add(sColumnName, sData.TrimEnd()); } else if (oData is DateTime) { dicData.Add(sColumnName, ((DateTime)(oData)).ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.CurrentCulture)); } else if (TypeCheckerHelper.IsNumeric(oData)) { dicData.Add(sColumnName, oData); } else { if (!(oData is DBNull)) { dicData.Add(sColumnName, oData.ToString()); } } } this.Records.Add(dicData); nSNCount++; } } } } }