private void bwInsert_DoWork(object sender, DoWorkEventArgs e) { foreach (var insertModel in rejectDetailFromTableList) { OutsoleMaterialRejectDetailController.Insert(insertModel); } // create OutsoleMaterialDetail and Update var updateRejectToOutsoleMaterialDetailList = new List <OutsoleMaterialDetailModel>(); var ousoleMaterialRejectDetailModel = rejectDetailFromTableList.FirstOrDefault(); if (ousoleMaterialRejectDetailModel != null) { var sizeNoList = rejectDetailFromTableList.Select(s => s.SizeNo).Distinct().ToList(); foreach (var sizeNo in sizeNoList) { var osMaterialDetail = new OutsoleMaterialDetailModel() { ProductNo = ousoleMaterialRejectDetailModel.ProductNo, OutsoleSupplierId = ousoleMaterialRejectDetailModel.OutsoleSupplierId, SizeNo = sizeNo, CreatedBy = ousoleMaterialRejectDetailModel.CreatedBy, IndexNo = ousoleMaterialRejectDetailModel.IndexNo, Round = ousoleMaterialRejectDetailModel.Round, Reject = rejectDetailFromTableList.Where(w => w.SizeNo == sizeNo).Select(s => s.QuantityReject).Sum() }; updateRejectToOutsoleMaterialDetailList.Add(osMaterialDetail); } } foreach (var updateModel in updateRejectToOutsoleMaterialDetailList) { OutsoleMaterialRejectDetailController.UpdateRejectToOutsoleMaterialDetail(updateModel); } }
private void bwLoad_DoWork(object sender, DoWorkEventArgs e) { // Excute DB rejectIssuesList = OutsoleMaterialRejectIssuesController.Select(); rejectDetailList = OutsoleMaterialRejectDetailController.SelectPerPOPerSupplierPerIndexNoPerRound(productNo, supplierClicked.OutsoleSupplierId, INDEXNO, ROUND); // Create Table Dispatcher.Invoke(new Action(() => { // Reject Issues Id dt.Columns.Add("OutsoleMaterialRejectIssuesId", typeof(Int32)); DataGridTextColumn columnRejectIssuesId = new DataGridTextColumn(); columnRejectIssuesId.Binding = new Binding("OutsoleMaterialRejectIssuesId"); columnRejectIssuesId.Visibility = Visibility.Hidden; dgOutsoleMaterialRejectDetail.Columns.Add(columnRejectIssuesId); // Reject Issues Name dt.Columns.Add("OutsoleMaterialRejectIssuesVietNamese", typeof(String)); DataGridTextColumn columnRejectIssuesVietNamese = new DataGridTextColumn(); columnRejectIssuesVietNamese.Binding = new Binding("OutsoleMaterialRejectIssuesVietNamese"); columnRejectIssuesVietNamese.Header = "Vấn Đề"; columnRejectIssuesVietNamese.MinWidth = 100; columnRejectIssuesVietNamese.IsReadOnly = true; dgOutsoleMaterialRejectDetail.Columns.Add(columnRejectIssuesVietNamese); for (int i = 0; i <= sizeRunList.Count - 1; i++) { SizeRunModel sizeRun = sizeRunList[i]; dt.Columns.Add(String.Format("Column{0}", i), typeof(Int32)); DataGridTextColumn column = new DataGridTextColumn(); column.SetValue(TagProperty, sizeRun.SizeNo); column.Header = String.Format("{0}\n{1}\n{2}", sizeRun.SizeNo, sizeRun.OutsoleSize, sizeRun.MidsoleSize); Style style = new Style(typeof(DataGridCell)); style.Setters.Add(new Setter(TextBlock.TextAlignmentProperty, TextAlignment.Center)); column.CellStyle = style; column.MinWidth = 40; column.Binding = new Binding(String.Format("Column{0}", i)) { Mode = BindingMode.TwoWay, UpdateSourceTrigger = UpdateSourceTrigger.LostFocus }; dgOutsoleMaterialRejectDetail.Columns.Add(column); } // Fill Data foreach (var rejectIssues in rejectIssuesList) { var rejectDetailPerRejectIssuesId = rejectDetailList.Where(w => w.OutsoleMaterialRejectIssuesId == rejectIssues.OutsoleMaterialRejectIssuesId).ToList(); DataRow dr = dt.NewRow(); dr["OutsoleMaterialRejectIssuesId"] = rejectIssues.OutsoleMaterialRejectIssuesId; dr["OutsoleMaterialRejectIssuesVietNamese"] = rejectIssues.OutsoleMaterialRejectIssuesVietNamese; for (int i = 0; i <= sizeRunList.Count - 1; i++) { var sizeRun = sizeRunList[i]; var rejectDetailPerRejectIssuesIdPerSize = rejectDetailPerRejectIssuesId.FirstOrDefault(f => f.SizeNo == sizeRun.SizeNo); if (rejectDetailPerRejectIssuesIdPerSize != null) { dr[String.Format("Column{0}", i)] = rejectDetailPerRejectIssuesIdPerSize.QuantityReject; } } dt.Rows.Add(dr); } dgOutsoleMaterialRejectDetail.ItemsSource = dt.AsDataView(); e.Result = dt; })); }