private string CreateXlsRptPO(RptPoByParamInput input) { //get data List <RptPODto> data = _rptPoBLL.GetRptPo(input); var listData = Mapper.Map <List <RptPOItem> >(data); var slDocument = new SLDocument(); //title slDocument.SetCellValue(1, 1, "PO Report Data"); slDocument.MergeWorksheetCells(1, 1, 1, 19); //create style SLStyle valueStyle = slDocument.CreateStyle(); valueStyle.SetHorizontalAlignment(HorizontalAlignmentValues.Center); valueStyle.Font.Bold = true; valueStyle.Font.FontSize = 18; slDocument.SetCellStyle(1, 1, valueStyle); //create header slDocument = CreateHeaderExcelDashboard(slDocument, listData, input); //create data slDocument = CreateDataExcelDashboard(slDocument, listData, input); var fileName = "RptPO" + DateTime.Now.ToString("_yyyyMMddHHmmss") + ".xlsx"; var path = Path.Combine(Server.MapPath(Constans.UploadPath), fileName); slDocument.SaveAs(path); return(path); }
public List <PO_REPORT_DATA> GetRptPo(RptPoByParamInput filter) { Expression <Func <PO_REPORT_DATA, bool> > queryFilter = PredicateHelper.True <PO_REPORT_DATA>(); if (filter != null) { //if (filter.PeriodFrom != null) //{ // //queryFilter = queryFilter.And(c => (c.CREATED_DATE.Day >= filter.PeriodFrom.Day) && // // (c.CREATED_DATE.Month >= filter.PeriodFrom.Month) && // // (c.CREATED_DATE.Year >= filter.PeriodFrom.Year)); // queryFilter = queryFilter.And(c => (c.START_CONTRACT.Value.Day >= filter.PeriodFrom.Day) && // (c.START_CONTRACT.Value.Month >= filter.PeriodFrom.Month) && // (c.START_CONTRACT.Value.Year >= filter.PeriodFrom.Year)); //} //if (filter.PeriodTo != null) //{ // //queryFilter = queryFilter.And(c => (c.CREATED_DATE.Day <= filter.PeriodTo.Day) && // // (c.CREATED_DATE.Month <= filter.PeriodTo.Month) && // // (c.CREATED_DATE.Year <= filter.PeriodTo.Year)); // queryFilter = queryFilter.And(c => (c.END_CONTRACT.Value.Day <= filter.PeriodTo.Day) && // (c.END_CONTRACT.Value.Month <= filter.PeriodTo.Month) && // (c.END_CONTRACT.Value.Year <= filter.PeriodTo.Year)); //} if (filter.MonthFrom > 0) { queryFilter = queryFilter.And(c => c.REPORT_MONTH >= filter.MonthFrom); } if (filter.YearFrom > 0) { queryFilter = queryFilter.And(c => c.REPORT_YEAR >= filter.YearFrom); } if (filter.MonthTo > 0) { queryFilter = queryFilter.And(c => c.REPORT_MONTH <= filter.MonthTo); } if (filter.YearTo > 0) { queryFilter = queryFilter.And(c => c.REPORT_YEAR <= filter.YearTo); } if (!string.IsNullOrEmpty(filter.EmployeeName)) { queryFilter = queryFilter.And(c => c.EMPLOYEE_NAME.ToUpper() == filter.EmployeeName.ToUpper()); } if (!string.IsNullOrEmpty(filter.CostCenter)) { queryFilter = queryFilter.And(c => c.COST_CENTER.ToUpper() == filter.CostCenter.ToUpper()); } if (!string.IsNullOrEmpty(filter.SupplyMethod)) { queryFilter = queryFilter.And(c => c.SUPPLY_METHOD.ToUpper() == filter.SupplyMethod.ToUpper()); } if (!string.IsNullOrEmpty(filter.PoliceNumber)) { queryFilter = queryFilter.And(c => c.POLICE_NUMBER.ToUpper() == filter.PoliceNumber.ToUpper()); } if (filter.GroupLevel > 0) { queryFilter = queryFilter.And(c => c.MST_EMPLOYEE.GROUP_LEVEL == filter.GroupLevel); } } return(_rptPoRepository.Get(queryFilter, null, "").ToList()); }
private SLDocument CreateDataExcelDashboard(SLDocument slDocument, List <RptPOItem> listData, RptPoByParamInput input) { int iRow = 4; //starting row data int iCol = 19; foreach (var data in listData) { slDocument.SetCellValue(iRow, 1, data.PoliceNumber); slDocument.SetCellValue(iRow, 2, data.SupplyMethod); slDocument.SetCellValue(iRow, 3, data.EmployeeName); slDocument.SetCellValue(iRow, 4, data.CostCenter); slDocument.SetCellValue(iRow, 5, data.Manufacturer); slDocument.SetCellValue(iRow, 6, data.Models); slDocument.SetCellValue(iRow, 7, data.Series); slDocument.SetCellValue(iRow, 8, data.BodyType); slDocument.SetCellValue(iRow, 9, data.Color); slDocument.SetCellValue(iRow, 10, data.ChasisNumber); slDocument.SetCellValue(iRow, 11, data.EngineNumber); slDocument.SetCellValue(iRow, 12, data.VehicleType); slDocument.SetCellValue(iRow, 13, data.VehicleUsage); slDocument.SetCellValue(iRow, 14, data.PoNumber); slDocument.SetCellValue(iRow, 15, data.PoLine); slDocument.SetCellValue(iRow, 16, data.StartContract.ToString("dd-MMM-yyyy")); slDocument.SetCellValue(iRow, 17, data.EndContract.ToString("dd-MMM-yyyy")); slDocument.SetCellValue(iRow, 18, data.Vendor); slDocument.SetCellValue(iRow, 19, data.VehicleFunction); if (input.MonthFrom <= 1 && input.MonthTo >= 1) { //if (data.JanAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.JanAmount); slDocument.SetCellValue(iRow, iCol + 2, data.JanPPN); slDocument.SetCellValue(iRow, iCol + 3, data.JanTotal); iCol = iCol + 3; } if (input.MonthFrom <= 2 && input.MonthTo >= 2) { //if (data.PebAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.PebAmount); slDocument.SetCellValue(iRow, iCol + 2, data.PebPPN); slDocument.SetCellValue(iRow, iCol + 3, data.PebTotal); iCol = iCol + 3; } if (input.MonthFrom <= 3 && input.MonthTo >= 3) { //if (data.MarAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.MarAmount); slDocument.SetCellValue(iRow, iCol + 2, data.MarPPN); slDocument.SetCellValue(iRow, iCol + 3, data.MarTotal); iCol = iCol + 3; } if (input.MonthFrom <= 4 && input.MonthTo >= 4) { //if (data.AprAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.AprAmount); slDocument.SetCellValue(iRow, iCol + 2, data.AprPPN); slDocument.SetCellValue(iRow, iCol + 3, data.AprTotal); iCol = iCol + 3; } if (input.MonthFrom <= 5 && input.MonthTo >= 5) { //if (data.MeiAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.MeiAmount); slDocument.SetCellValue(iRow, iCol + 2, data.MeiPPN); slDocument.SetCellValue(iRow, iCol + 3, data.MeiTotal); iCol = iCol + 3; } if (input.MonthFrom <= 6 && input.MonthTo >= 6) { //if (data.JunAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.JunAmount); slDocument.SetCellValue(iRow, iCol + 2, data.JunPPN); slDocument.SetCellValue(iRow, iCol + 3, data.JunTotal); iCol = iCol + 3; } if (input.MonthFrom <= 7 && input.MonthTo >= 7) { //if (data.JulAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.JulAmount); slDocument.SetCellValue(iRow, iCol + 2, data.JulPPN); slDocument.SetCellValue(iRow, iCol + 3, data.JulTotal); iCol = iCol + 3; } if (input.MonthFrom <= 8 && input.MonthTo >= 8) { //if (data.AgusAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.AgusAmount); slDocument.SetCellValue(iRow, iCol + 2, data.AgusPPN); slDocument.SetCellValue(iRow, iCol + 3, data.AgusTotal); iCol = iCol + 3; } if (input.MonthFrom <= 9 && input.MonthTo >= 9) { //if (data.SepAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.SepAmount); slDocument.SetCellValue(iRow, iCol + 2, data.SepPPN); slDocument.SetCellValue(iRow, iCol + 3, data.SepTotal); iCol = iCol + 3; } if (input.MonthFrom <= 10 && input.MonthTo >= 10) { //if (data.OktAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.OktAmount); slDocument.SetCellValue(iRow, iCol + 2, data.OktPPN); slDocument.SetCellValue(iRow, iCol + 3, data.OktTotal); iCol = iCol + 3; } if (input.MonthFrom <= 11 && input.MonthTo >= 11) { //if (data.NopAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.NopAmount); slDocument.SetCellValue(iRow, iCol + 2, data.NopPPN); slDocument.SetCellValue(iRow, iCol + 3, data.NopTotal); iCol = iCol + 3; } if (input.MonthFrom <= 12 && input.MonthTo >= 12) { //if (data.DesAmount > 0) //{ //} slDocument.SetCellValue(iRow, iCol + 1, data.DesAmount); slDocument.SetCellValue(iRow, iCol + 2, data.DesPPN); slDocument.SetCellValue(iRow, iCol + 3, data.DesTotal); iCol = iCol + 3; } iCol = 19; iRow++; } //create style SLStyle valueStyle = slDocument.CreateStyle(); valueStyle.Border.LeftBorder.BorderStyle = BorderStyleValues.Thin; valueStyle.Border.RightBorder.BorderStyle = BorderStyleValues.Thin; valueStyle.Border.TopBorder.BorderStyle = BorderStyleValues.Thin; valueStyle.Border.BottomBorder.BorderStyle = BorderStyleValues.Thin; slDocument.AutoFitColumn(1, iCol); slDocument.SetCellStyle(3, 1, iRow - 1, iCol, valueStyle); return(slDocument); }
private SLDocument CreateHeaderExcelDashboard(SLDocument slDocument, List <RptPOItem> listData, RptPoByParamInput input) { int iRow = 3; int iCol = 19; slDocument.SetCellValue(iRow, 1, "Police Number"); slDocument.SetCellValue(iRow, 2, "Supply Method"); slDocument.SetCellValue(iRow, 3, "Employee Name"); slDocument.SetCellValue(iRow, 4, "Cost Center"); slDocument.SetCellValue(iRow, 5, "Manufacturer"); slDocument.SetCellValue(iRow, 6, "Model"); slDocument.SetCellValue(iRow, 7, "Series"); slDocument.SetCellValue(iRow, 8, "Body Type"); slDocument.SetCellValue(iRow, 9, "Color"); slDocument.SetCellValue(iRow, 10, "Chasis Number"); slDocument.SetCellValue(iRow, 11, "Engine Number"); slDocument.SetCellValue(iRow, 12, "Vehicle Type"); slDocument.SetCellValue(iRow, 13, "Vehicle Usage"); slDocument.SetCellValue(iRow, 14, "PO Number"); slDocument.SetCellValue(iRow, 15, "PO Line"); slDocument.SetCellValue(iRow, 16, "Start Contract"); slDocument.SetCellValue(iRow, 17, "End Contract"); slDocument.SetCellValue(iRow, 18, "Vendor"); slDocument.SetCellValue(iRow, 19, "Vehicle Function"); foreach (var data in listData) { } if (input.MonthFrom <= 1 && input.MonthTo >= 1) { slDocument.SetCellValue(2, iCol + 1, "January"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } if (input.MonthFrom <= 2 && input.MonthTo >= 2) { slDocument.SetCellValue(2, iCol + 1, "February"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } if (input.MonthFrom <= 3 && input.MonthTo >= 3) { slDocument.SetCellValue(2, iCol + 1, "March"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } if (input.MonthFrom <= 4 && input.MonthTo >= 4) { slDocument.SetCellValue(2, iCol + 1, "April"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } if (input.MonthFrom <= 5 && input.MonthTo >= 5) { slDocument.SetCellValue(2, iCol + 1, "May"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } if (input.MonthFrom <= 6 && input.MonthTo >= 6) { slDocument.SetCellValue(2, iCol + 1, "June"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } if (input.MonthFrom <= 7 && input.MonthTo >= 7) { slDocument.SetCellValue(2, iCol + 1, "July"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } if (input.MonthFrom <= 8 && input.MonthTo >= 8) { slDocument.SetCellValue(2, iCol + 1, "August"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } if (input.MonthFrom <= 9 && input.MonthTo >= 9) { slDocument.SetCellValue(2, iCol + 1, "September"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } if (input.MonthFrom <= 10 && input.MonthTo >= 10) { slDocument.SetCellValue(2, iCol + 1, "October"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } if (input.MonthFrom <= 11 && input.MonthTo >= 11) { slDocument.SetCellValue(2, iCol + 1, "November"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } if (input.MonthFrom <= 12 && input.MonthTo >= 12) { slDocument.SetCellValue(2, iCol + 1, "December"); slDocument.MergeWorksheetCells(2, iCol + 1, 2, iCol + 3); slDocument.SetCellValue(iRow, iCol + 1, "Amount"); slDocument.SetCellValue(iRow, iCol + 2, "PPN"); slDocument.SetCellValue(iRow, iCol + 3, "Total"); iCol = iCol + 3; } SLStyle headerStyle = slDocument.CreateStyle(); headerStyle.Alignment.Horizontal = HorizontalAlignmentValues.Center; headerStyle.Font.Bold = true; headerStyle.Border.LeftBorder.BorderStyle = BorderStyleValues.Thin; headerStyle.Border.RightBorder.BorderStyle = BorderStyleValues.Thin; headerStyle.Border.TopBorder.BorderStyle = BorderStyleValues.Thin; headerStyle.Border.BottomBorder.BorderStyle = BorderStyleValues.Thin; headerStyle.Fill.SetPattern(PatternValues.Solid, System.Drawing.Color.LightGray, System.Drawing.Color.LightGray); slDocument.SetCellStyle(iRow, 1, 2, iCol, headerStyle); slDocument.SetCellStyle(iRow, 1, iRow, iCol, headerStyle); return(slDocument); }
public List <RptPODto> GetRptPo(RptPoByParamInput filter) { var data = _RptPoService.GetRptPo(filter); var retData = Mapper.Map <List <RptPODto> >(data); var dataListPo = new List <RptPODto>(); var dataPo = _RptPoService.GetRptPoData().ToList(); var groupList = retData .GroupBy(x => new { x.PoliceNumber, x.SupplyMethod, x.EmployeeName, x.CostCenter, x.Manufacturer, x.Models, x.Series, x.BodyType, x.Color, x.ChasisNumber, x.EngineNumber, x.VehicleType, x.VehicleUsage, x.PoNumber, x.PoLine, x.Vendor, x.StartContract, x.EndContract }) .Select(p => new RptPODto() { PoliceNumber = p.FirstOrDefault().PoliceNumber, SupplyMethod = p.FirstOrDefault().SupplyMethod, EmployeeName = p.FirstOrDefault().EmployeeName, CostCenter = p.FirstOrDefault().CostCenter, Manufacturer = p.FirstOrDefault().Manufacturer, Models = p.FirstOrDefault().Models, Series = p.FirstOrDefault().Series, BodyType = p.FirstOrDefault().BodyType, Color = p.FirstOrDefault().Color, ChasisNumber = p.FirstOrDefault().ChasisNumber, EngineNumber = p.LastOrDefault().EngineNumber, VehicleType = p.FirstOrDefault().VehicleType, VehicleUsage = p.FirstOrDefault().VehicleUsage, PoNumber = p.FirstOrDefault().PoNumber, PoLine = p.FirstOrDefault().PoLine, Vendor = p.FirstOrDefault().Vendor, StartContract = p.FirstOrDefault().StartContract, EndContract = p.FirstOrDefault().EndContract }); foreach (var item in groupList) { var retDataPo1 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 1).FirstOrDefault(); if (retDataPo1 != null) { item.JanAmount = (Decimal)retDataPo1.MONTHLY_INSTALLMENT; item.JanPPN = (Decimal)retDataPo1.GST; item.JanTotal = (Decimal)retDataPo1.TOTAL_MONTHLY_INSTALLMENT; } var retDataPo2 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 2).FirstOrDefault(); if (retDataPo2 != null) { item.PebAmount = (Decimal)retDataPo2.MONTHLY_INSTALLMENT; item.PebPPN = (Decimal)retDataPo2.GST; item.PebTotal = (Decimal)retDataPo2.TOTAL_MONTHLY_INSTALLMENT; } var retDataPo3 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 3).FirstOrDefault(); if (retDataPo3 != null) { item.MarAmount = (Decimal)retDataPo3.MONTHLY_INSTALLMENT; item.MarPPN = (Decimal)retDataPo3.GST; item.MarTotal = (Decimal)retDataPo3.TOTAL_MONTHLY_INSTALLMENT; } var retDataPo4 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 4).FirstOrDefault(); if (retDataPo4 != null) { item.AprAmount = (Decimal)retDataPo4.MONTHLY_INSTALLMENT; item.AprPPN = (Decimal)retDataPo4.GST; item.AprTotal = (Decimal)retDataPo4.TOTAL_MONTHLY_INSTALLMENT; } var retDataPo5 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 5).FirstOrDefault(); if (retDataPo5 != null) { item.MeiAmount = (Decimal)retDataPo5.MONTHLY_INSTALLMENT; item.MeiPPN = (Decimal)retDataPo5.GST; item.MeiTotal = (Decimal)retDataPo5.TOTAL_MONTHLY_INSTALLMENT; } var retDataPo6 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 6).FirstOrDefault(); if (retDataPo6 != null) { item.JunAmount = (Decimal)retDataPo6.MONTHLY_INSTALLMENT; item.JunPPN = (Decimal)retDataPo6.GST; item.JunTotal = (Decimal)retDataPo6.TOTAL_MONTHLY_INSTALLMENT; } var retDataPo7 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 7).FirstOrDefault(); if (retDataPo7 != null) { item.JulAmount = (Decimal)retDataPo7.MONTHLY_INSTALLMENT; item.JulPPN = (Decimal)retDataPo7.GST; item.JulTotal = (Decimal)retDataPo7.TOTAL_MONTHLY_INSTALLMENT; } var retDataPo8 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 8).FirstOrDefault(); if (retDataPo8 != null) { item.AgusAmount = (Decimal)retDataPo8.MONTHLY_INSTALLMENT; item.AgusPPN = (Decimal)retDataPo8.GST; item.AgusTotal = (Decimal)retDataPo8.TOTAL_MONTHLY_INSTALLMENT; } var retDataPo9 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 9).FirstOrDefault(); if (retDataPo9 != null) { item.SepAmount = (Decimal)retDataPo9.MONTHLY_INSTALLMENT; item.SepPPN = (Decimal)retDataPo9.GST; item.SepTotal = (Decimal)retDataPo9.TOTAL_MONTHLY_INSTALLMENT; } var retDataPo10 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 10).FirstOrDefault(); if (retDataPo10 != null) { item.OktAmount = (Decimal)retDataPo10.MONTHLY_INSTALLMENT; item.OktPPN = (Decimal)retDataPo10.GST; item.OktTotal = (Decimal)retDataPo10.TOTAL_MONTHLY_INSTALLMENT; } var retDataPo11 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 11).FirstOrDefault(); if (retDataPo11 != null) { item.NopAmount = (Decimal)retDataPo11.MONTHLY_INSTALLMENT; item.NopPPN = (Decimal)retDataPo11.GST; item.NopTotal = (Decimal)retDataPo11.TOTAL_MONTHLY_INSTALLMENT; } var retDataPo12 = dataPo.Where(x => x.POLICE_NUMBER == item.PoliceNumber && x.REPORT_MONTH == 12).FirstOrDefault(); if (retDataPo12 != null) { item.DesAmount = (Decimal)retDataPo12.MONTHLY_INSTALLMENT; item.DesPPN = (Decimal)retDataPo12.GST; item.DesTotal = (Decimal)retDataPo12.TOTAL_MONTHLY_INSTALLMENT; } dataListPo.Add(item); } return(dataListPo); }