public DataTable GetExportVerifyDetail(ExportVerifyDetailSearchFilter searchFilter) { _reportDataAccess = new ReportDataAccess(_context); IList <ExportVerifyDetailEntity> exportVerifyDetail = _reportDataAccess.GetExportVerifyDetail(searchFilter); DataTable dt = DataTableHelpers.ConvertTo(exportVerifyDetail); return(dt); }
public IList <ExportVerifyDetailEntity> GetExportVerifyDetail(ExportVerifyDetailSearchFilter searchFilter) { int? productGroupId = searchFilter.ProductGroup.ToNullable <int>(); int? productId = searchFilter.Product.ToNullable <int>(); int? campaignId = searchFilter.Campaign.ToNullable <int>(); int? typeId = searchFilter.Type.ToNullable <int>(); int? areaId = searchFilter.Area.ToNullable <int>(); int? subareaId = searchFilter.SubArea.ToNullable <int>(); int? ownerId = searchFilter.OwnerSR.ToNullable <int>(); int? ownerbranchId = searchFilter.OwnerBranch.ToNullable <int>(); string selectAllValue = Constants.ApplicationStatus.All.ConvertToString(); DateTime?srMinDate = null; DateTime?srMaxDate = null; if (searchFilter.SRDateTimeFromValue.HasValue && searchFilter.SRDateTimeToValue.HasValue) { srMinDate = searchFilter.SRDateTimeFromValue.Value; srMaxDate = searchFilter.SRDateTimeToValue.Value; } else { int?monthOfReportExport = _context.TB_C_PARAMETER.Where(x => x.PARAMETER_NAME == Constants.ParameterName.ReportExportDate) .FirstOrDefault().PARAMETER_VALUE.ToNullable <int>(); srMinDate = DateTime.Now.Date.AddMonths(monthOfReportExport.Value * -1); srMaxDate = DateTime.Now.Date.AddDays(1); } var query = (from sr in _context.TB_T_SR.AsNoTracking() join cs in _context.TB_M_CUSTOMER on sr.CUSTOMER_ID equals cs.CUSTOMER_ID join ac in _context.TB_M_ACCOUNT on sr.ACCOUNT_ID equals ac.ACCOUNT_ID join pg in _context.TB_R_PRODUCTGROUP on sr.PRODUCTGROUP_ID equals pg.PRODUCTGROUP_ID join pr in _context.TB_R_PRODUCT on sr.PRODUCT_ID equals pr.PRODUCT_ID join cp in _context.TB_R_CAMPAIGNSERVICE on sr.CAMPAIGNSERVICE_ID equals cp.CAMPAIGNSERVICE_ID join ty in _context.TB_M_TYPE on sr.TYPE_ID equals ty.TYPE_ID join ar in _context.TB_M_AREA on sr.AREA_ID equals ar.AREA_ID join sb in _context.TB_M_SUBAREA on sr.SUBAREA_ID equals sb.SUBAREA_ID join ou in _context.TB_R_USER on sr.OWNER_USER_ID equals ou.USER_ID from vr in _context.TB_T_SR_VERIFY_RESULT_QUESTION.Where(c => c.TB_T_SR_VERIFY_RESULT_GROUP.SR_ID == sr.SR_ID).DefaultIfEmpty() where (productGroupId == null || pg.PRODUCTGROUP_ID == productGroupId) && (productId == null || pr.PRODUCT_ID == productId) && (campaignId == null || cp.CAMPAIGNSERVICE_ID == campaignId) && (typeId == null || ty.TYPE_ID == typeId) && (areaId == null || ar.AREA_ID == areaId) && (subareaId == null || sb.SUBAREA_ID == subareaId) && (ownerId == null || ou.USER_ID == ownerId) && (ownerbranchId == null || sr.OWNER_BRANCH_ID == ownerbranchId) && (string.IsNullOrEmpty(searchFilter.SRId) || sr.SR_NO == searchFilter.SRId) && (string.IsNullOrEmpty(searchFilter.SRIsverify) || selectAllValue == searchFilter.SRIsverify || sr.SR_IS_VERIFY_PASS == searchFilter.SRIsverify) && (sr.CREATE_DATE >= srMinDate) && (sr.CREATE_DATE <= srMaxDate) select new ExportVerifyDetailEntity { SRId = sr.SR_NO, AccountNo = ac.ACCOUNT_NO, CustomerFistname = !string.IsNullOrEmpty(cs.FIRST_NAME_TH) ? cs.FIRST_NAME_TH : cs.FIRST_NAME_EN, CustomerLastname = !string.IsNullOrEmpty(cs.FIRST_NAME_TH) ? cs.LAST_NAME_TH : cs.LAST_NAME_EN, ProductGroupName = pg.PRODUCTGROUP_NAME, ProductName = pr.PRODUCT_NAME, CampaignServiceName = cp.CAMPAIGNSERVICE_NAME, TypeName = ty.TYPE_NAME, AreaName = ar.AREA_NAME, SubAreaName = sb.SUBAREA_NAME, SROwnerName = ou.POSITION_CODE + "-" + ou.FIRST_NAME + " " + ou.LAST_NAME, IsVerifyPass = sr.SR_IS_VERIFY_PASS, QuestionGroupName = vr.TB_T_SR_VERIFY_RESULT_GROUP.QUESTIONGROUP_NAME, QuestionName = vr.QUESTION_NAME, VerifyResult = vr.RESULT }); return(query.ToList()); }
public byte[] CreateReportVerifyDetail(IList <ExportVerifyDetailEntity> vfdList, ExportVerifyDetailSearchFilter searchFilter) { try { StringBuilder sb = new StringBuilder(); List <string> search_criteria = new List <string>(); if (!string.IsNullOrWhiteSpace(searchFilter.ProductGroup)) { search_criteria.Add(SetReportData("ProductGroup:" + searchFilter.ProductGroupName)); } if (!string.IsNullOrWhiteSpace(searchFilter.Product)) { search_criteria.Add(SetReportData("Product:" + searchFilter.ProductName)); } if (!string.IsNullOrWhiteSpace(searchFilter.Campaign)) { search_criteria.Add(SetReportData("Campaign/Service:" + searchFilter.CampaignName)); } if (!string.IsNullOrWhiteSpace(searchFilter.Type)) { search_criteria.Add(SetReportData("Type:" + searchFilter.TypeName)); } if (!string.IsNullOrWhiteSpace(searchFilter.Area)) { search_criteria.Add(SetReportData("Area:" + searchFilter.AreaName)); } if (!string.IsNullOrWhiteSpace(searchFilter.SubArea)) { search_criteria.Add(SetReportData("Sub Area:" + searchFilter.SubAreaName)); } if (!string.IsNullOrWhiteSpace(searchFilter.OwnerBranch)) { search_criteria.Add(SetReportData("Owner Branch:" + searchFilter.OwnerBranchName)); } if (!string.IsNullOrWhiteSpace(searchFilter.OwnerSR)) { search_criteria.Add(SetReportData("Owner SR:" + searchFilter.OwnerSRName)); } if (!string.IsNullOrWhiteSpace(searchFilter.SRId)) { search_criteria.Add(SetReportData("SR ID:" + searchFilter.SRId)); } if (!string.IsNullOrWhiteSpace(searchFilter.SRIsverify)) { search_criteria.Add(SetReportData("Verify Result:" + searchFilter.SRIsverifyName)); } if (!string.IsNullOrWhiteSpace(searchFilter.SRDateFrom)) { search_criteria.Add(SetReportData("SR Created Date From:" + searchFilter.SRDateFrom)); } if (!string.IsNullOrWhiteSpace(searchFilter.SRDateTo)) { search_criteria.Add(SetReportData("SR Created Date To:" + searchFilter.SRDateTo)); } if (!string.IsNullOrWhiteSpace(searchFilter.SRTimeFrom)) { search_criteria.Add(SetReportData("SR Created Time From:" + searchFilter.SRTimeFrom)); } if (!string.IsNullOrWhiteSpace(searchFilter.SRTimeTo)) { search_criteria.Add(SetReportData("SR Created Time To:" + searchFilter.SRTimeTo)); } sb.AppendLine(string.Join(",", search_criteria)); sb.AppendLine(""); string[] headers = new string[] { SetReportData("No"), SetReportData("SR ID"), SetReportData("เลขที่สัญญา / เลขที่บัญชีชื่อลูกค้า"), SetReportData("ชื่อลูกค้า"), SetReportData("นามสกุลลูกค้า"), SetReportData("Product Group"), SetReportData("Product"), SetReportData("Campaign/Service"), SetReportData("Type"), SetReportData("Area"), SetReportData("Sub-Area"), SetReportData("SR Owner"), SetReportData("Verify Result"), SetReportData("Question Group"), SetReportData("Question"), SetReportData("Answer") }; sb.AppendLine(string.Join(",", headers)); int i = 0; foreach (var item in vfdList) { i += 1; string[] fields = new string[] { SetReportData(i.ToString()), SetReportData(addSingleQuote(item.SRId)), SetReportData(addSingleQuote(item.AccountNo)), SetReportData(item.CustomerFistname), SetReportData(item.CustomerLastname), SetReportData(item.ProductGroupName), SetReportData(item.ProductName), SetReportData(item.CampaignServiceName), SetReportData(item.TypeName), SetReportData(item.AreaName), SetReportData(item.SubAreaName), SetReportData(item.SROwnerName), SetReportData(item.IsVerifyPassDisplay), SetReportData(item.QuestionGroupName), SetReportData(item.QuestionName), SetReportData(item.VerifyResultDisplay) }; sb.AppendLine(string.Join(",", fields)); } return(Encoding.GetEncoding(874).GetBytes(sb.ToString())); } catch { throw; } }
//public DataTable GetExportVerifyDetail(ExportVerifyDetailSearchFilter searchFilter) //{ // _reportDataAccess = new ReportDataAccess(_context); // IList<ExportVerifyDetailEntity> exportVerifyDetail = _reportDataAccess.GetExportVerifyDetail(searchFilter); // DataTable dt = DataTableHelpers.ConvertTo(exportVerifyDetail); // return dt; //} public IList <ExportVerifyDetailEntity> GetExportVerifyDetail(ExportVerifyDetailSearchFilter searchFilter) { _reportDataAccess = new ReportDataAccess(_context); return(_reportDataAccess.GetExportVerifyDetail(searchFilter)); }