///-----------------------------------------------------------------------
///
/// 程式代號: 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++;
}
}
}
}
}