public static void MapToViewModel(RouteCardHeaderViewModel item, RouteCardService.RouteCardHeader row) { var routeCardFabrics = new ObservableCollection <RouteCardService.RouteCardFabric>(); foreach (var det in item.RouteCardFabricViewModelList) { routeCardFabrics.Add(MapToViewModel(det)); } row.SupplierInv = item.SupplierInv; row.RouteCardFabrics = routeCardFabrics; row.tblTransactionType = item.TransactionType; row.RouteType = item.RouteTypeInt; row.MarkerTransaction = item.MarkerIserial; row.IsPosted = item.IsPosted; row.Iserial = item.Iserial; row.RoutGroupID = item.RoutGroupID; row.RoutID = item.RoutID; row.Vendor = item.VendorCode; row.Direction = item.Direction; if (item.TransID != null) { row.TransID = (int)item.TransID; } row.DeliveryDate = item.DelivaryDate; row.DocDate = item.DocDate; item.RouteDirectionPerRow = row.TblRouteDirection; row.LinkIserial = item.LinkIserial; row.Notes = item.Notes; }
private void _proxy_GetMaxRouteCardTransactionIDCompleted(object sender, GetMaxRouteCardTransactionIDCompletedEventArgs e) { var rch = new RouteCardService.RouteCardHeader(); var routerCardFabricRow = new ObservableCollection <RouteCardService.RouteCardFabric>(); foreach (var routeFabricRow in MyViewModel.RouteCardFabricViewModelList) { routerCardFabricRow.Add(RouteCardMappers.MapToViewModel(routeFabricRow)); } var rcd = new ObservableCollection <RouteCardService.RouteCardDetail>(); try { switch (CmbDirection.SelectedIndex) { case 0: rch.Direction = 0; break; case 1: rch.Direction = 1; break; } MyViewModel.TransID = (e.Result + 1); RouteCardMappers.MapToViewModel(MyViewModel, rch); foreach (var item in MyViewModel.RouteCardDetails) { foreach (var sizeItem in item.RoutCardSizes.Where(x => x.SizeCode != "")) { rcd.Add(new RouteCardService.RouteCardDetail { TblColor = item.TblColor, Degree = item.Degree, TblSalesOrder = item.TblSalesOrder, Trans_TransactionHeader = rch.TransID, Size = sizeItem.SizeCode, SizeQuantity = sizeItem.SizeConsumption, RoutGroupID = rch.RoutGroupID, Direction = rch.Direction, ObjectIndex = item.ObjectIndex, Price = item.Price, Notes = item.Notes, Blocks = item.Blocks, TblWarehouse = item.TblWarehouse, }); } } MyViewModel.SaveRouteCard(rch, rcd, "add", PostOrNo); tBlockTransID.Text = rch.TransID.ToString(CultureInfo.InvariantCulture); // btnCancel_Click(null, null); btnEdit_Checked(null, null); } catch (Exception ex) { var err = new ErrorWindow(ex); } }
private void btnSave_Click(object sender, RoutedEventArgs e) { if (sender == BtnSave) { PostOrNo = 0; } else if (sender == BtnPostToAx) { PostOrNo = 1; } if (MyViewModel.Iserial == 0) { var proxy = new RouteCardServiceClient(); proxy.GetMaxRouteCardTransactionIDAsync((int)CmbRouteGroup.SelectedValue, CmbDirection.SelectedIndex, MyViewModel.TransactionType); proxy.GetMaxRouteCardTransactionIDCompleted += _proxy_GetMaxRouteCardTransactionIDCompleted; } else { var proxy = new RouteCardServiceClient(); proxy.GetMaxRouteCardTransactionIDAsync((int)CmbRouteGroup.SelectedValue, CmbDirection.SelectedIndex, MyViewModel.TransactionType); proxy.GetMaxRouteCardTransactionIDCompleted += (s, ev) => { var myViewModel = (LayoutRoot.DataContext as RouteCardHeaderViewModel); var routerCardFabricRow = new ObservableCollection <RouteCardService.RouteCardFabric>(); if (myViewModel != null) { MyViewModel.TransID = (ev.Result + 1); foreach (var routeFabricRow in myViewModel.RouteCardFabricViewModelList) { routerCardFabricRow.Add(RouteCardMappers.MapToViewModel(routeFabricRow)); } var rch = new RouteCardService.RouteCardHeader(); var rcd = new ObservableCollection <RouteCardService.RouteCardDetail>(); try { RouteCardMappers.MapToViewModel(myViewModel, rch); foreach (var item in myViewModel.RouteCardDetails) { foreach (var sizeItem in item.RoutCardSizes.Where(x => x.SizeCode != "")) { rcd.Add(new RouteCardService.RouteCardDetail { TblColor = item.TblColor, Degree = item.Degree, TblSalesOrder = item.TblSalesOrder, Trans_TransactionHeader = rch.TransID, Size = sizeItem.SizeCode, SizeQuantity = sizeItem.SizeConsumption, RoutGroupID = rch.RoutGroupID, Direction = rch.Direction, ObjectIndex = item.ObjectIndex, Price = item.Price, Notes = item.Notes, Blocks = item.Blocks, TblWarehouse = item.TblWarehouse }); } } myViewModel.SaveRouteCard(rch, rcd, "update", PostOrNo); tBlockTransID.Text = rch.TransID.ToString(CultureInfo.InvariantCulture); //btnCancel_Click(null, null); } catch (Exception ex) { var err = new ErrorWindow(ex); } } }; } }