public DataTable getData(DateTime date) { DistributionBL shipmentService = new DistributionBL(); List <Distribution> list = shipmentService.GetAll().Where(x => x.RecordStatus == 1 && x.CreatedDate.ToShortDateString() == date.ToShortDateString() && x.Area.City.BranchCorpOffice.BranchCorpOfficeId == GlobalVars.DeviceBcoId).ToList(); List <DailyTripViewModel> modelList = Match(list); DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("No", typeof(string))); dt.Columns.Add(new DataColumn("AWB/SOA", typeof(string))); dt.Columns.Add(new DataColumn("Consignee", typeof(string))); dt.Columns.Add(new DataColumn("Address", typeof(string))); dt.Columns.Add(new DataColumn("QTY", typeof(int))); dt.Columns.Add(new DataColumn("AGW", typeof(string))); dt.Columns.Add(new DataColumn("Service Mode", typeof(string))); dt.Columns.Add(new DataColumn("Payment Mode", typeof(string))); dt.Columns.Add(new DataColumn("Amount", typeof(string))); dt.Columns.Add(new DataColumn("Area", typeof(string))); dt.Columns.Add(new DataColumn("Driver", typeof(string))); dt.Columns.Add(new DataColumn("Checker", typeof(string))); dt.Columns.Add(new DataColumn("BCO", typeof(string))); dt.Columns.Add(new DataColumn("PaymentCode", typeof(string))); dt.Columns.Add(new DataColumn("ScannedBy", typeof(string))); dt.Columns.Add(new DataColumn("Batch", typeof(string))); dt.BeginLoadData(); int ctr = 1; foreach (DailyTripViewModel item in modelList) { DataRow row = dt.NewRow(); row[0] = (ctr++).ToString(); row[1] = item.AirwayBillNo; row[2] = item.Consignee; row[3] = item.Address; row[4] = item.Qty; row[5] = item.AGW; row[6] = item.ServiceMode; row[7] = item.PaymentMode; row[8] = item.Amount; row[9] = item.Area; row[10] = item.Driver; row[11] = item.Checker; row[12] = item.BCO; row[13] = item.PaymentCode; row[14] = item.Scannedby; row[15] = item.BatchName; dt.Rows.Add(row); } dt.EndLoadData(); return(dt); }
public List <DeliveryStatusViewModel> Match(List <Delivery> _deliveries) { BranchCorpOfficeBL bcoService = new BranchCorpOfficeBL(); DeliveryStatusBL status = new DeliveryStatusBL(); DeliveryRemarkBL remark = new DeliveryRemarkBL(); DistributionBL distributionService = new DistributionBL(); DeliveryReceiptBL deliveryReceiptService = new DeliveryReceiptBL(); ShipmentBL shipmentService = new ShipmentBL(); PackageNumberBL _packageNumberService = new PackageNumberBL(); List <DeliveryStatusViewModel> _results = new List <DeliveryStatusViewModel>(); List <Distribution> distributions = distributionService.GetAll().ToList(); List <DeliveryReceipt> deliveryReceipt = deliveryReceiptService.GetAll().ToList(); UserStore _userService = new UserStore(); foreach (Delivery delivery in _deliveries) { DeliveryStatusViewModel model = new DeliveryStatusViewModel(); DeliveryStatusViewModel isExist = _results.Find(x => x.AirwayBillNo == delivery.Shipment.AirwayBillNo); if (isExist != null) { isExist.QTY++; } else { model.AirwayBillNo = delivery.Shipment.AirwayBillNo; model.QTY = _packageNumberService.FilterActiveBy(x => x.Shipment.AirwayBillNo == delivery.Shipment.AirwayBillNo).Count; model.Status = delivery.DeliveryStatus.DeliveryStatusName; model.Remarks = "NA"; model.DeliveredBy = delivery.DeliveredBy.FullName; if (delivery.DeliveryRemarkId != null) { model.Remarks = delivery.DeliveryRemark.DeliveryRemarkName; } Distribution dis = distributions.Find(x => x.ShipmentId == delivery.ShipmentId); DeliveryReceipt dReceipt = deliveryReceipt.Find(x => x.DeliveryId == delivery.DeliveryId); //List<Distribution> list = distributions.Where( x => x.ShipmentId == delivery.ShipmentId).Distinct().ToList(); //foreach(Distribution dis in list) //{ // //model.Area = dis.Area.RevenueUnitName; // model.Driver = dis.Driver; // model.Checker = dis.Checker; // model.Batch = dis.Batch.BatchName; // model.PlateNo = dis.PlateNo; // model.BCO = dis.Area.City.BranchCorpOffice.BranchCorpOfficeName; //} model.Area = dis.Area.RevenueUnitName; model.Driver = dis.Driver; model.Checker = dis.Checker; model.Batch = dis.Batch.BatchName; model.PlateNo = dis.PlateNo; model.BCO = dis.Area.City.BranchCorpOffice.BranchCorpOfficeName; //model.ScannedBy = AppUser.User.Employee.FullName; model.ScannedBy = "N/A"; string employee = _userService.FindById(dis.CreatedBy).Employee.FullName; if (employee != "") { model.ScannedBy = employee; } model.ReceivedBy = "NA"; if (dReceipt != null) { model.ReceivedBy = dReceipt.ReceivedBy; } _results.Add(model); } } //List<BranchCorpOffice> _bco= bcoService.GetAll().Where(x => x.RecordStatus == 1 && x.BranchCorpOfficeId == GlobalVars.DeviceBcoId).ToList(); //string bcoName = bcoService.GetAll().Where(x => x.BranchCorpOfficeId == GlobalVars.DeviceBcoId).Select(x => x.BranchCorpOfficeName).ToString(); //string bcoName = _bco.Select(x => x.BranchCorpOfficeName).ToString(); string bcoName = bcoService.GetAll().Find(x => x.BranchCorpOfficeId == GlobalVars.DeviceBcoId).BranchCorpOfficeName; List <DeliveryStatusViewModel> _resultsFilter = _results.FindAll(x => x.BCO == bcoName); //List<DeliveryStatusViewModel> resultList = modelList.FindAll(x => x.Area == revenueUnitName); //return _results; return(_resultsFilter); }