private void BwLoad_DoWork(object sender, DoWorkEventArgs e) { try { offDayList = OffDayController.Select(); productionMemoList = ProductionMemoController.Select(); sewingMasterViewModelNewList = ReportController.GetSewingSummaryReport(); rawMaterialViewModelNewList = RawMaterialController.Select_1(); } catch (Exception ex) { Dispatcher.Invoke(new Action(() => { MessageBox.Show(ex.Message, this.Title, MessageBoxButton.OK, MessageBoxImage.Error); })); return; } _SEW_VS_OTHERS_CUT_A = privateDefine.SewingVsOthersCutTypeA; _SEW_VS_OTHERS_CUT_B = privateDefine.SewingVsOthersCutTypeB; //int index = 1; DataTable dt = new SewingSummaryDataset().Tables["SewingSummaryDatatable"]; foreach (var sewNew in sewingMasterViewModelNewList) { var memoByPOList = productionMemoList.Where(p => p.ProductionNumbers.Contains(sewNew.ProductNo) == true).Select(s => s.MemoId).ToList(); var sewingMasterView = new SewingMasterViewModel(); // Order Information sewingMasterView.ProductNoBackground = Brushes.Transparent; sewingMasterView.ProductNo = sewNew.ProductNo; sewingMasterView.Country = sewNew.Country; sewingMasterView.ShoeName = sewNew.ShoeName; sewingMasterView.ArticleNo = sewNew.ArticleNo; sewingMasterView.PatternNo = sewNew.PatternNo; sewingMasterView.Quantity = sewNew.Quantity; sewingMasterView.ETD = sewNew.ETD; // Sewing Master Information sewingMasterView.Sequence = sewNew.Sequence; sewingMasterView.SewingLine = sewNew.SewingLine; sewingMasterView.SewingQuota = sewNew.SewingQuota; sewingMasterView.SewingStartDate = sewNew.SewingStartDate; sewingMasterView.SewingFinishDate = sewNew.SewingFinishDate; sewingMasterView.SewingPrep = sewNew.SewingPrep; sewingMasterView.SewingActualStartDate = sewNew.SewingActualStartDate; sewingMasterView.SewingActualFinishDate = sewNew.SewingActualFinishDate; sewingMasterView.SewingActualStartDateAuto = sewNew.SewingActualStartDateAuto; sewingMasterView.SewingActualFinishDateAuto = sewNew.SewingActualFinishDateAuto; sewingMasterView.SewingBalance = sewNew.SewingBalance; sewingMasterView.CutAStartDate = sewNew.CutAStartDate; sewingMasterView.CutAFinishDate = sewNew.CutAFinishDate; sewingMasterView.CutAQuota = sewNew.CutAQuota; sewingMasterView.CutAActualStartDate = sewNew.CutAActualStartDate; sewingMasterView.CutAActualFinishDate = sewNew.CutAActualFinishDate; sewingMasterView.PrintingBalance = sewNew.PrintingBalance; sewingMasterView.H_FBalance = sewNew.H_FBalance; sewingMasterView.EmbroideryBalance = sewNew.EmbroideryBalance; sewingMasterView.CutBBalance = sewNew.CutBBalance; sewingMasterView.AutoCut = sewNew.AutoCut; sewingMasterView.LaserCut = sewNew.LaserCut; sewingMasterView.HuasenCut = sewNew.HuasenCut; sewingMasterView.AssemblyBalance = sewNew.AssemblyBalance; // Outsole Master Infor sewingMasterView.OSFinishDate = sewNew.OSFinishDate; sewingMasterView.OSBalance = sewNew.OSBalance; sewingMasterView.SewingStartDateForeground = Brushes.Black; sewingMasterView.SewingFinishDateForeground = Brushes.Black; sewingMasterView.CutAStartDateForeground = Brushes.Black; //var bfSew10 = sewNew.SewingStartDate.AddDays(-10); var bfSew10 = sewNew.SewingStartDate.AddDays(-_SEW_VS_OTHERS_CUT_B); var bfSew10IncludeHolidayList = CheckOffDay(bfSew10, sewNew.SewingStartDate); //var bfSew15 = sewNew.SewingStartDate.AddDays(-15); var bfSew15 = sewNew.SewingStartDate.AddDays(-_SEW_VS_OTHERS_CUT_A); var bfSew15IncludeHolidayList = CheckOffDay(bfSew15, sewNew.SewingStartDate); var bf10 = bfSew10IncludeHolidayList.FirstOrDefault(); var bf15 = bfSew15IncludeHolidayList.FirstOrDefault(); if (string.IsNullOrEmpty(sewNew.CutBStartDate) == false) { sewingMasterView.CutBStartDate = sewNew.CutBStartDate; } else { if (sewNew.SewingStartDate != dtDefault) { sewingMasterView.CutBStartDate = TimeHelper.ConvertDateToView(new DateTime(bf10.Year, bf10.Month, bf10.Day).ToString("MM/dd/yyyy")); } else { sewingMasterView.CutBStartDate = ""; } } if (string.IsNullOrEmpty(sewNew.AtomCutA) == false) { sewingMasterView.AtomCutA = sewNew.AtomCutA; } else { if (sewNew.SewingStartDate != dtDefault) { sewingMasterView.AtomCutA = TimeHelper.ConvertDateToView(new DateTime(bf15.Year, bf15.Month, bf15.Day).ToString("MM/dd/yyyy")); } else { sewingMasterView.AtomCutA = ""; } } if (string.IsNullOrEmpty(sewNew.AtomCutB) == false) { sewingMasterView.AtomCutB = sewNew.AtomCutB; } else { if (sewNew.SewingStartDate != dtDefault) { sewingMasterView.AtomCutB = TimeHelper.ConvertDateToView(new DateTime(bf10.Year, bf10.Month, bf10.Day).ToString("MM/dd/yyyy")); } else { sewingMasterView.AtomCutB = ""; } } if (string.IsNullOrEmpty(sewNew.LaserCutA) == false) { sewingMasterView.LaserCutA = sewNew.LaserCutA; } else { if (sewNew.SewingStartDate != dtDefault) { sewingMasterView.LaserCutA = TimeHelper.ConvertDateToView(new DateTime(bf15.Year, bf15.Month, bf15.Day).ToString("MM/dd/yyyy")); } else { sewingMasterView.LaserCutA = ""; } } if (string.IsNullOrEmpty(sewNew.LaserCutB) == false) { sewingMasterView.LaserCutB = sewNew.LaserCutB; } else { if (sewNew.SewingStartDate != dtDefault) { sewingMasterView.LaserCutB = TimeHelper.ConvertDateToView(new DateTime(bf10.Year, bf10.Month, bf10.Day).ToString("MM/dd/yyyy")); } else { sewingMasterView.LaserCutB = ""; } } if (string.IsNullOrEmpty(sewNew.HuasenCutA) == false) { sewingMasterView.HuasenCutA = sewNew.HuasenCutA; } else { if (sewNew.SewingStartDate != dtDefault) { sewingMasterView.HuasenCutA = TimeHelper.ConvertDateToView(new DateTime(bf15.Year, bf15.Month, bf15.Day).ToString("MM/dd/yyyy")); } else { sewingMasterView.HuasenCutA = ""; } } if (string.IsNullOrEmpty(sewNew.HuasenCutB) == false) { sewingMasterView.HuasenCutB = sewNew.HuasenCutB; } else { if (sewNew.SewingStartDate != dtDefault) { sewingMasterView.HuasenCutB = TimeHelper.ConvertDateToView(new DateTime(bf10.Year, bf10.Month, bf10.Day).ToString("MM/dd/yyyy")); } else { sewingMasterView.HuasenCutB = ""; } } // UpperMaterial 1, 2, 3, 4, 10 if (sewNew.UpperMaterialFinisedDate != dtDefault) { sewingMasterView.UpperMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", sewNew.UpperMaterialFinisedDate); } else if (sewNew.UpperMaterialETD != dtDefault) { sewingMasterView.UpperMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", sewNew.UpperMaterialETD); } //Sewing Material 5, 7 if (sewNew.SewingMaterialFinisedDate != dtDefault) { sewingMasterView.SewingMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", sewNew.SewingMaterialFinisedDate); } else if (sewNew.SewingMaterialETD != dtDefault) { sewingMasterView.SewingMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", sewNew.SewingMaterialETD); } // Assembly Material 8, 9 if (sewNew.AssemblyMaterialFinisedDate != dtDefault) { sewingMasterView.AssemblyMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", sewNew.AssemblyMaterialFinisedDate); } else if (sewNew.AssemblyMaterialETD != dtDefault) { sewingMasterView.AssemblyMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", sewNew.AssemblyMaterialETD); } //// Outsole Material 6 //if (sewNew.OutsoleMaterialFinisedDate != dtDefault) // sewingMasterView.OSMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", sewNew.OutsoleMaterialFinisedDate); //else if (sewNew.OutsoleMaterialETD != dtDefault) // sewingMasterView.OSMatsArrival = String.Format(new CultureInfo("en-US"), "{0:dd-MMM}", sewNew.OutsoleMaterialETD); // Base on rawmaterial sewingMasterView.OSMatsArrival = ""; var osMaterial = rawMaterialViewModelNewList.FirstOrDefault(f => f.ProductNo == sewNew.ProductNo); if (String.IsNullOrEmpty(osMaterial.OUTSOLE_Remarks) && !String.IsNullOrEmpty(osMaterial.OUTSOLE_ActualDate)) { sewingMasterView.OSMatsArrival = osMaterial.OUTSOLE_ActualDate; } else if (osMaterial.OUTSOLE_ETD_DATE != dtDefault) { sewingMasterView.OSMatsArrival = osMaterial.OUTSOLE_ETD; } sewingMasterView.OutsoleStartDate = sewNew.OutsoleStartDate; sewingMasterView.OutsoleFinishDate = sewNew.OutsoleFinishDate; sewingMasterView.AssemblyStartDate = sewNew.AssemblyStartDate; sewingMasterView.AssemblyFinishDate = sewNew.AssemblyFinishDate; sewingMasterView.OutsoleCode = sewNew.OutsoleCode; sewingMasterViewList.Add(sewingMasterView); DataRow dr = dt.NewRow(); dr["MemoId"] = memoByPOList.Count() > 0 ? String.Join("\n", memoByPOList) : ""; dr["ProductNo"] = sewNew.ProductNo; dr["Country"] = sewNew.Country; dr["ShoeName"] = sewNew.ShoeName; dr["ArticleNo"] = sewNew.ArticleNo; dr["PatternNo"] = sewNew.PatternNo; dr["Quantity"] = sewNew.Quantity; dr["ETD"] = sewNew.ETD; dr["CSD"] = sewNew.ETD.AddDays(10); dr["UpperMatsArrival"] = sewingMasterView.UpperMatsArrival; dr["SewingMatsArrival"] = sewingMasterView.SewingMatsArrival; dr["OutsoleMatsArrival"] = sewingMasterView.OSMatsArrival; dr["AssemblyMatsArrival"] = sewingMasterView.AssemblyMatsArrival; dr["SewingLine"] = sewNew.SewingLine; dr["SewingStartDate"] = sewNew.SewingStartDate; dr["SewingFinishDate"] = sewNew.SewingFinishDate; dr["SewingActualStartDate"] = sewNew.SewingActualStartDate; dr["SewingActualFinishDate"] = sewNew.SewingActualFinishDate; dr["SewingActualStartDateAuto"] = sewNew.SewingActualStartDateAuto; dr["SewingActualFinishDateAuto"] = sewNew.SewingActualFinishDateAuto; dr["SewingBalance"] = sewNew.SewingBalance; dr["CutAStartDate"] = sewNew.CutAStartDate; dr["CutAFinishDate"] = sewNew.CutAFinishDate; dr["CutAQuota"] = sewNew.CutAQuota; dr["CutAActualStartDate"] = sewNew.CutAActualStartDate; dr["CutAActualFinishDate"] = sewNew.CutAActualFinishDate; dr["CutABalance"] = sewNew.CutABalance; dr["PrintingBalance"] = sewNew.PrintingBalance; dr["H_FBalance"] = sewNew.H_FBalance; dr["EmbroideryBalance"] = sewNew.EmbroideryBalance; dr["AutoCut"] = sewNew.AutoCut; dr["LaserCut"] = sewNew.LaserCut; dr["HuasenCut"] = sewNew.HuasenCut; dr["CutBStartDate"] = sewNew.CutBStartDate; dr["AtomCutA"] = sewingMasterView.AtomCutA; dr["AtomCutB"] = sewingMasterView.AtomCutB; dr["LaserCutA"] = sewingMasterView.LaserCutA; dr["LaserCutB"] = sewingMasterView.LaserCutB; dr["HuasenCutA"] = sewingMasterView.HuasenCutA; dr["HuasenCutB"] = sewingMasterView.HuasenCutB; dr["OutsoleStartDate"] = sewNew.OutsoleStartDate; dr["OutsoleFinishDate"] = sewNew.OutsoleFinishDate; dr["AssemblyStartDate"] = sewNew.AssemblyStartDate; dr["AssemblyFinishDate"] = sewNew.AssemblyFinishDate; dr["SewingPrep"] = sewNew.SewingPrep; dr["StockfitFinishDate"] = sewNew.OutsoleFinishDate; dr["StockfitBalance"] = sewNew.OSBalance; dr["CutprepBalance"] = sewNew.H_FBalance; dr["SewingQuota"] = sewNew.SewingQuota; dr["OutsoleCode"] = sewNew.OutsoleCode; dr["AssemblyBalance"] = sewNew.AssemblyBalance; dt.Rows.Add(dr); } sewingMasterViewList = sewingMasterViewList.OrderBy(s => s.SewingLine).ThenBy(s => s.Sequence).ToList(); e.Result = dt; }
void threadLoad_DoWork(object sender, DoWorkEventArgs e) { orderList = OrdersController.Select(); sewingMasterList = SewingMasterController.Select(); outsoleMasterList = OutsoleMasterController.Select(); assemblyMasterList = AssemblyMasterController.Select(); orderExtraList = OrderExtraController.Select(); List <String> productNoList = sewingMasterList.Select(r => r.ProductNo).Distinct().ToList(); foreach (string productNo in productNoList) { var order = orderList.FirstOrDefault(f => f.ProductNo == productNo); //var order1 = orderList.Where(w => w.ProductNo == productNo).FirstOrDefault(); var sewingMaster = sewingMasterList.FirstOrDefault(f => f.ProductNo == productNo); var outsoleMaster = outsoleMasterList.FirstOrDefault(f => f.ProductNo == productNo); var assemblyMaster = assemblyMasterList.FirstOrDefault(f => f.ProductNo == productNo); var orderExtra = orderExtraList.FirstOrDefault(f => f.ProductNo == productNo); CompletionStatusViewModel completionStatusView = new CompletionStatusViewModel { ProductNo = order.ProductNo, Country = order.Country, ShoeName = order.ShoeName, ArticleNo = order.ArticleNo, ETD = order.ETD, Quantity = order.Quantity, }; if (orderExtra != null) { DateTime loadingDate = dtDefault; if (DateTime.TryParse(orderExtra.LoadingDate, out loadingDate) == true) { completionStatusView.LoadingDate = string.Format(new CultureInfo("en-US"), "{0:dd-MMM}", loadingDate); } else { completionStatusView.LoadingDate = ""; } } if (sewingMaster != null) { completionStatusView.SewingLine = sewingMaster.SewingLine; completionStatusView.CutAFinishDate = sewingMaster.CutBBalance; completionStatusView.SewingFinishDate = sewingMaster.SewingActualFinishDate; if (string.IsNullOrEmpty(sewingMaster.SewingActualFinishDate.Trim()) == true) { completionStatusView.SewingFinishDate = sewingMaster.SewingBalance; } } else { completionStatusView.SewingLine = ""; completionStatusView.CutAFinishDate = ""; completionStatusView.SewingFinishDate = ""; } if (outsoleMaster != null) { completionStatusView.OutsoleLine = outsoleMaster.OutsoleLine; completionStatusView.OutsoleFinishDate = outsoleMaster.OutsoleActualFinishDate; if (string.IsNullOrEmpty(outsoleMaster.OutsoleActualFinishDate.Trim()) == true) { completionStatusView.OutsoleFinishDate = outsoleMaster.OutsoleBalance; } } else { completionStatusView.OutsoleLine = ""; completionStatusView.OutsoleFinishDate = ""; } completionStatusView.IsFinished = false; if (assemblyMaster != null) { completionStatusView.AssemblyLine = assemblyMaster.AssemblyLine; completionStatusView.AssemblyFinishDate = assemblyMaster.AssemblyActualFinishDate.Contains("/")? TimeHelper.ConvertDateToView(assemblyMaster.AssemblyActualFinishDate) : assemblyMaster.AssemblyActualFinishDate; if (string.IsNullOrEmpty(assemblyMaster.AssemblyActualFinishDate.Trim()) == true) { completionStatusView.AssemblyFinishDate = assemblyMaster.AssemblyBalance; } if (string.IsNullOrEmpty(assemblyMaster.AssemblyActualFinishDate.Trim()) == false || assemblyMaster.AssemblyBalance.ToLower() == "OK".ToLower()) { completionStatusView.IsFinished = true; } } else { completionStatusView.AssemblyLine = ""; completionStatusView.AssemblyFinishDate = ""; } completionStatusViewList.Add(completionStatusView); } }