public static DataTable FindAllDataTableByOrderByAndCleintIDAndChanneLIDAndDate (int channelId, int clientId, DateTime startDateTime, DateTime enddateTime, DataType dataType, string sortFieldName, bool isDesc, int pageIndex, int pageSize, out int recordCount) { if (channelId == 0) { throw new ArgumentException(" channelId not allow 0."); } SPChannelWrapper channelWrapper = SPChannelWrapper.FindById(channelId); List <SPPaymentInfoWrapper> spPaymentInfoWrappers = ConvertToWrapperList(businessProxy.FindAllDataTableByOrderByAndCleintIDAndChanneLIDAndDate(channelId, clientId, startDateTime, enddateTime, dataType, sortFieldName, isDesc, pageIndex, pageSize, out recordCount)); DataTable channelRecordTable = channelWrapper.BuildChannelRecordTable(); for (int i = 0; i < spPaymentInfoWrappers.Count; i++) { DataRow dr = channelRecordTable.NewRow(); dr.BeginEdit(); dr["RecordID"] = spPaymentInfoWrappers[i].Id; dr["CreateDate"] = spPaymentInfoWrappers[i].CreateDate; dr["Province"] = spPaymentInfoWrappers[i].Province; dr["City"] = spPaymentInfoWrappers[i].City; dr["SycnRetryTimes"] = spPaymentInfoWrappers[i].SycnRetryTimes; dr["IsSycnData"] = spPaymentInfoWrappers[i].IsSycnData; dr["SucesssToSend"] = spPaymentInfoWrappers[i].SucesssToSend; if (!string.IsNullOrEmpty(spPaymentInfoWrappers[i].SSycnDataUrl)) { dr["SendUrl"] = spPaymentInfoWrappers[i].SSycnDataUrl; } else { if (spPaymentInfoWrappers[i].IsSycnData.HasValue && spPaymentInfoWrappers[i].IsSycnData.Value) { dr["SendUrl"] = spPaymentInfoWrappers[i].ReBuildUrl(); } } foreach (string field in SPChannelWrapper.fields) { dr[field] = spPaymentInfoWrappers[i].GetMappingValue(field); } dr.EndEdit(); channelRecordTable.Rows.Add(dr); } channelRecordTable.AcceptChanges(); return(channelRecordTable); }
public static DataTable FindAllDataTableByOrderByAndCleintIDAndChanneLIDAndDate (int channelId, int clientId, DateTime startDateTime, DateTime enddateTime, DataType dataType, string sortFieldName, bool isDesc) { if (channelId == 0) { throw new ArgumentException(" channelId not allow 0."); } SPChannelWrapper channelWrapper = SPChannelWrapper.FindById(channelId); List <SPPaymentInfoWrapper> spPaymentInfoWrappers = ConvertToWrapperList(businessProxy.FindAllDataTableByOrderByAndCleintIDAndChanneLIDAndDate(channelId, clientId, startDateTime, enddateTime, dataType, sortFieldName, isDesc)); DataTable channelRecordTable = new DataTable(); channelRecordTable.Columns.Add("LinkID", typeof(string)); channelRecordTable.Columns.Add("Mobile", typeof(string)); channelRecordTable.Columns.Add("Mo", typeof(string)); channelRecordTable.Columns.Add("Cpid", typeof(string)); channelRecordTable.Columns.Add("Province", typeof(string)); channelRecordTable.Columns.Add("City", typeof(string)); channelRecordTable.Columns.Add("CreateDate", typeof(DateTime)); for (int i = 0; i < spPaymentInfoWrappers.Count; i++) { DataRow dr = channelRecordTable.NewRow(); dr.BeginEdit(); dr["LinkID"] = spPaymentInfoWrappers[i].Linkid; dr["Mobile"] = spPaymentInfoWrappers[i].MobileNumber; dr["Mo"] = spPaymentInfoWrappers[i].Ywid; dr["Cpid"] = spPaymentInfoWrappers[i].Cpid; dr["CreateDate"] = spPaymentInfoWrappers[i].CreateDate; dr["Province"] = spPaymentInfoWrappers[i].Province; dr["City"] = spPaymentInfoWrappers[i].City; //foreach (string field in SPChannelWrapper.fields) //{ // dr[field] = spPaymentInfoWrappers[i].GetMappingValue(field); //} dr.EndEdit(); channelRecordTable.Rows.Add(dr); } channelRecordTable.AcceptChanges(); return(channelRecordTable); }
public static List <SPPaymentInfoWrapper> FindAllByOrderByAndCleintIDAndChanneLIDAndDate (int channelId, int clientId, DateTime startDateTime, DateTime enddateTime, DataType dataType, string sortFieldName, bool isDesc, int pageIndex, int pageSize, out int recordCount) { if (channelId == 0) { throw new ArgumentException(" channelId not allow 0."); } SPChannelWrapper channelWrapper = SPChannelWrapper.FindById(channelId); return(ConvertToWrapperList(businessProxy.FindAllDataTableByOrderByAndCleintIDAndChanneLIDAndDate(channelId, clientId, startDateTime, enddateTime, dataType, sortFieldName, isDesc, pageIndex, pageSize, out recordCount))); }
public static DataTable FindAllDataTableByOrderByAndCleintIDAndChanneLIDAndDateNoIntercept(int channelId, int clientId, DateTime startDateTime, DateTime enddateTime, string sortFieldName, bool isDesc, int pageIndex, int pageSize, out int recordCount) { if (channelId == 0) { throw new ArgumentException(" channelId not allow 0."); } SPChannelWrapper channelWrapper = SPChannelWrapper.FindById(channelId); List <SPPaymentInfoWrapper> spPaymentInfoWrappers = ConvertToWrapperList(businessProxy.FindAllByOrderByAndCleintIDAndChanneLIDAndDateNoIntercept(channelId, clientId, startDateTime, enddateTime, sortFieldName, isDesc, pageIndex, pageSize, out recordCount)); DataTable channelRecordTable = channelWrapper.BuildChannelRecordTable(); for (int i = 0; i < spPaymentInfoWrappers.Count; i++) { DataRow dr = channelRecordTable.NewRow(); dr.BeginEdit(); dr["RecordID"] = spPaymentInfoWrappers[i].Id; dr["CreateDate"] = spPaymentInfoWrappers[i].CreateDate; foreach (string field in SPChannelWrapper.fields) { dr[field] = spPaymentInfoWrappers[i].GetMappingValue(field); } dr.EndEdit(); channelRecordTable.Rows.Add(dr); } channelRecordTable.AcceptChanges(); return(channelRecordTable); }
public static DataTable GetOperatorReport(DateTime startDate, DateTime endDate, int channleId, int clientChannleId, string mprovince, string moperator) { DataTable dt = new DataTable("DS"); dt.Columns.Add("Operator"); dt.Columns.Add("Province"); dt.Columns.Add("Channel"); dt.Columns.Add("Mo"); dt.Columns.Add("RecordCount", typeof(int)); dt.AcceptChanges(); DataTable dtReportQuery = businessProxy.GetOperatorReport(startDate, endDate, channleId, clientChannleId, null, mprovince, moperator); List <ReportDataOperatorItem> reportDataProvinceItems = new List <ReportDataOperatorItem>(); foreach (DataRow dr in dtReportQuery.Rows) { SPChannelWrapper channel = SPChannelWrapper.FindById((int)dr["ChannelID"]); SPClientChannelSettingWrapper channelSettingWrapper = SPClientChannelSettingWrapper.FindById((int)dr["ChannleClientID"]); string channelName = channel.Name; string moCode = channelSettingWrapper.MoCode; int recordCount = (int)dr["RecordCount"]; string province = dr["Province"].ToString(); ReportDataOperatorItem reportDataProvinceItem = new ReportDataOperatorItem(); reportDataProvinceItem.ChannelName = channelName.ToLower(); reportDataProvinceItem.CodeName = moCode.ToLower(); if (string.IsNullOrEmpty(province)) { reportDataProvinceItem.Province = "未知省份"; } else { if (string.IsNullOrEmpty(province.Trim())) { reportDataProvinceItem.Province = "未知省份"; } else { reportDataProvinceItem.Province = province.ToLower(); } } reportDataProvinceItem.RecordCount = recordCount; reportDataProvinceItem.Mo = channelSettingWrapper.CommandCode.ToLower(); if (channelSettingWrapper.ChannelCode == null) { reportDataProvinceItem.SPCode = ""; } else { reportDataProvinceItem.SPCode = channelSettingWrapper.ChannelCode.ToLower(); } if (channelSettingWrapper.CommandType == "1") { reportDataProvinceItem.MoType = "1"; } else if (channelSettingWrapper.CommandType == "2" || channelSettingWrapper.CommandType == "3" || channelSettingWrapper.CommandType == "4") { reportDataProvinceItem.MoType = "2"; } else { reportDataProvinceItem.MoType = "0"; } reportDataProvinceItem.MoLength = reportDataProvinceItem.Mo.Length; reportDataProvinceItem.OperatorType = dr["Operator"].ToString(); reportDataProvinceItems.Add(reportDataProvinceItem); } List <ReportDataOperatorItem> orderedItems = (from rap in reportDataProvinceItems orderby rap.OperatorType, rap.Province, rap.ChannelName, rap.MoType, rap.Mo, rap.SPCode, rap.MoLength select rap).ToList(); List <ReportDataOperatorItem> groupItems = new List <ReportDataOperatorItem>(); foreach (ReportDataOperatorItem oItem in orderedItems) { ReportDataOperatorItem item = groupItems.Find( p => (p.OperatorType == oItem.OperatorType && p.ChannelName == oItem.ChannelName && p.Province == oItem.Province && p.CodeName == oItem.CodeName)); if (item != null) { item.RecordCount = oItem.RecordCount + item.RecordCount; } else { if (oItem.MoType == "2") { ReportDataOperatorItem mitem = (from rap in groupItems where (rap.OperatorType == oItem.OperatorType && rap.ChannelName == oItem.ChannelName && rap.Province == oItem.Province && rap.SPCode == oItem.SPCode && !oItem.Mo.Equals(rap.Mo) && oItem.Mo.Contains(rap.Mo)) orderby rap.MoLength select rap).FirstOrDefault(); bool hasMain = (mitem != null); if (hasMain) { mitem.RecordCount = oItem.RecordCount + mitem.RecordCount; continue; } } var addItem = oItem.Copy(); groupItems.Add(addItem); } } foreach (ReportDataOperatorItem groupItem in groupItems) { dt.Rows.Add(groupItem.OperatorType, groupItem.Province, groupItem.ChannelName, groupItem.CodeName, groupItem.RecordCount); } dt.AcceptChanges(); return(dt); }
public static DataTable GetProvinceReport(DateTime startDate, DateTime endDate, int channelID, int channleClientID) { DataTable dt = new DataTable("DS"); dt.Columns.Add("ChannelName"); dt.Columns.Add("ChannelID"); dt.Columns.Add("CodeName"); dt.Columns.Add("ChannelClentID"); dt.Columns.Add("Province"); dt.Columns.Add("RecordCount", typeof(int)); dt.AcceptChanges(); DataTable dtReportQuery = businessProxy.GetProvinceReport(startDate, endDate, channelID, channleClientID, null); List <ReportDataProvinceItem> reportDataProvinceItems = new List <ReportDataProvinceItem>(); foreach (DataRow dr in dtReportQuery.Rows) { SPChannelWrapper channel = SPChannelWrapper.FindById((int)dr["ChannelID"]); SPClientChannelSettingWrapper channelSettingWrapper = SPClientChannelSettingWrapper.FindById((int)dr["ChannleClientID"]); string channelName = channel.Name; string moCode = channelSettingWrapper.ParentClientChannelSetting.MoCode; string province = dr["Province"].ToString(); int recordCount = (int)dr["RecordCount"]; ReportDataProvinceItem reportDataProvinceItem = new ReportDataProvinceItem(); reportDataProvinceItem.ChannelID = (int)dr["ChannelID"]; reportDataProvinceItem.ChannelName = channelName; reportDataProvinceItem.CodeID = (int)dr["ChannleClientID"]; reportDataProvinceItem.CodeName = moCode.ToLower(); if (string.IsNullOrEmpty(province)) { reportDataProvinceItem.Province = "未知省份"; } else { if (string.IsNullOrEmpty(province.Trim())) { reportDataProvinceItem.Province = "未知省份"; } else { reportDataProvinceItem.Province = province.ToLower(); } } reportDataProvinceItem.RecordCount = recordCount; reportDataProvinceItem.Mo = channelSettingWrapper.CommandCode.ToLower(); if (channelSettingWrapper.ChannelCode == null) { reportDataProvinceItem.SPCode = ""; } else { reportDataProvinceItem.SPCode = channelSettingWrapper.ChannelCode.ToLower(); } if (channelSettingWrapper.CommandType == "1") { reportDataProvinceItem.MoType = "1"; } else if (channelSettingWrapper.CommandType == "2" || channelSettingWrapper.CommandType == "3" || channelSettingWrapper.CommandType == "4") { reportDataProvinceItem.MoType = "2"; } else { reportDataProvinceItem.MoType = "0"; } reportDataProvinceItem.MoLength = reportDataProvinceItem.Mo.Length; reportDataProvinceItems.Add(reportDataProvinceItem); } foreach (ReportDataProvinceItem groupItem in reportDataProvinceItems) { AddNewProvinceReportRow(dt, groupItem.ChannelName, groupItem.CodeName, groupItem.Province, groupItem.RecordCount, groupItem.ChannelID, groupItem.CodeID); } return(dt); }
public static DataTable GetProvinceReport(DateTime startDate, DateTime endDate, int channelID, int channleClientID) { DataTable dt = new DataTable("DS"); dt.Columns.Add("ChannelName"); dt.Columns.Add("CodeName"); dt.Columns.Add("Province"); dt.Columns.Add("RecordCount", typeof(int)); dt.AcceptChanges(); DataTable dtReportQuery = businessProxy.GetProvinceReport(startDate, endDate, channelID, channleClientID, null); List <ReportDataProvinceItem> reportDataProvinceItems = new List <ReportDataProvinceItem>(); foreach (DataRow dr in dtReportQuery.Rows) { SPChannelWrapper channel = SPChannelWrapper.FindById((int)dr["ChannelID"]); SPClientChannelSettingWrapper channelSettingWrapper = SPClientChannelSettingWrapper.FindById((int)dr["ChannleClientID"]); string channelName = channel.Name; string moCode = channelSettingWrapper.ParentClientChannelSetting.MoCode; string province = dr["Province"].ToString(); int recordCount = (int)dr["RecordCount"]; ReportDataProvinceItem reportDataProvinceItem = new ReportDataProvinceItem(); reportDataProvinceItem.ChannelName = channelName.ToLower(); reportDataProvinceItem.CodeName = moCode.ToLower(); if (string.IsNullOrEmpty(province)) { reportDataProvinceItem.Province = "未知省份"; } else { if (string.IsNullOrEmpty(province.Trim())) { reportDataProvinceItem.Province = "未知省份"; } else { reportDataProvinceItem.Province = province.ToLower(); } } reportDataProvinceItem.RecordCount = recordCount; reportDataProvinceItem.Mo = channelSettingWrapper.CommandCode.ToLower(); if (channelSettingWrapper.ChannelCode == null) { reportDataProvinceItem.SPCode = ""; } else { reportDataProvinceItem.SPCode = channelSettingWrapper.ChannelCode.ToLower(); } if (channelSettingWrapper.CommandType == "1") { reportDataProvinceItem.MoType = "1"; } else if (channelSettingWrapper.CommandType == "2" || channelSettingWrapper.CommandType == "3" || channelSettingWrapper.CommandType == "4") { reportDataProvinceItem.MoType = "2"; } else { reportDataProvinceItem.MoType = "0"; } reportDataProvinceItem.MoLength = reportDataProvinceItem.Mo.Length; reportDataProvinceItems.Add(reportDataProvinceItem); } //List<ReportDataProvinceItem> orderedItems = (from rap in reportDataProvinceItems // orderby rap.ChannelName, rap.MoType, rap.Mo, rap.SPCode, rap.Province, rap.MoLength // select rap).ToList(); //List<ReportDataProvinceItem> groupItems = new List<ReportDataProvinceItem>(); //foreach (ReportDataProvinceItem oItem in orderedItems) //{ // ReportDataProvinceItem item = // groupItems.Find( // p => // (p.ChannelName == oItem.ChannelName && p.CodeName == oItem.CodeName && // p.Province == oItem.Province)); // if (item!=null) // { // item.RecordCount = oItem.RecordCount + item.RecordCount; // } // else // { // if (oItem.MoType == "2") // { // //ReportDataProvinceItem mitem = (from rap in groupItems // // where // // (rap.ChannelName == oItem.ChannelName && rap.SPCode == oItem.SPCode && // // !oItem.Mo.Equals(rap.Mo) && oItem.Mo.Contains(rap.Mo)) // // orderby rap.MoLength // // select rap).FirstOrDefault(); // //bool hasMain = (mitem != null); // //if(hasMain) // //{ // // ReportDataProvinceItem mi = groupItems.Find(p => (p.ChannelName == oItem.ChannelName && p.SPCode == oItem.SPCode && oItem.Mo.Contains(p.Mo) && p.Province == oItem.Province)); // // if(mi!=null) // // { // // mi.RecordCount = oItem.RecordCount + mi.RecordCount; // // } // // else // // { // var maitem = oItem.Copy(); // maitem.CodeName = oItem.CodeName; // maitem.Mo = oItem.Mo; // maitem.MoLength = oItem.MoLength; // maitem.Province = oItem.Province; // //if (string.IsNullOrEmpty(maitem.Province.Trim())) // // throw new Exception("11111"); // groupItems.Add(maitem); // // } // // continue; // //} // } // var addItem = oItem.Copy(); // if (string.IsNullOrEmpty(addItem.Province.Trim())) // throw new Exception("11111"); // groupItems.Add(addItem); // //if (oItem.MoType == "2") // //{ // // DataRow dr = FindMainItemInDataTable(dt, oItem); // // if(dr!=null) // // { // // dr.BeginEdit(); // // dr["RecordCount"] = oItem.RecordCount + (int)dr["RecordCount"]; // // dr.EndEdit(); // // dt.AcceptChanges(); // // } // // else // // { // // AddNewProvinceReportRow(dt, oItem.ChannelName, oItem.CodeName, oItem.Province, oItem.RecordCount); // // } // //} // //else // //{ // // AddNewProvinceReportRow(dt, oItem.ChannelName, oItem.CodeName, oItem.Province, oItem.RecordCount); // //} // } //} foreach (ReportDataProvinceItem groupItem in reportDataProvinceItems) { AddNewProvinceReportRow(dt, groupItem.ChannelName, groupItem.CodeName, groupItem.Province, groupItem.RecordCount); } return(dt); }