void threadLoad_DoWork(object sender, DoWorkEventArgs e) { materialTypeList = MaterialTypeController.Select(); orderList = OrdersController.Select(); rawMaterialList = RawMaterialController.Select(); List <String> productNoList = rawMaterialList.Select(r => r.ProductNo).Distinct().ToList(); foreach (string productNo in productNoList) { OrdersModel order = orderList.Where(o => o.ProductNo == productNo).FirstOrDefault(); List <Int32> materialTypeIdList = rawMaterialList.Select(r => r.MaterialTypeId).Distinct().ToList(); //Red! materialTypeIdList.Remove(6); materialTypeIdList.Remove(11); materialTypeIdList.Remove(12); materialTypeIdList.Remove(13); foreach (int materialTypeId in materialTypeIdList) { RawMaterialModel rawMaterial = rawMaterialList.Where(r => r.ProductNo == productNo && r.MaterialTypeId == materialTypeId).FirstOrDefault(); if (rawMaterial != null && rawMaterial.ETD.Date != dtDefault //&& rawMaterial.ActualDate.Date == dtDefault ) { DeliveryStatusViewModel deliveryStatusView = new DeliveryStatusViewModel(); deliveryStatusView.ProductNo = productNo; if (order != null) { deliveryStatusView.Country = order.Country; deliveryStatusView.ArticleNo = order.ArticleNo; deliveryStatusView.ShoeName = order.ShoeName; deliveryStatusView.Quantity = order.Quantity; deliveryStatusView.ETD = order.ETD; } MaterialTypeModel materialType = materialTypeList.Where(m => m.MaterialTypeId == rawMaterial.MaterialTypeId).FirstOrDefault(); if (materialType != null) { deliveryStatusView.Supplier = materialType.Name; } deliveryStatusView.SupplierETD = rawMaterial.ETD; if (rawMaterial.ActualDate != dtDefault) { deliveryStatusView.Actual = string.Format("{0:MM/dd/yyyy}", rawMaterial.ActualDate); deliveryStatusView.IsFinished = true; } else { deliveryStatusView.Actual = rawMaterial.Remarks; deliveryStatusView.IsFinished = false; } deliveryStatusViewList.Add(deliveryStatusView); } } } }
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); }