private AdjustRequestVM ConvertRequestInfoToVM(AdjustRequestInfo info) { AdjustRequestVM vm = info.Convert <AdjustRequestInfo, AdjustRequestVM>((i, v) => { v.StockSysNo = i.Stock == null ? null : i.Stock.SysNo; v.AuditUserSysNo = i.AuditUser == null ? null : i.AuditUser.SysNo; v.CreateUserSysNo = i.CreateUser == null ? null : i.CreateUser.SysNo; v.EditUserSysNo = i.EditUser == null ? null : i.EditUser.SysNo; v.OutStockUserSysNo = i.OutStockUser == null ? null : i.OutStockUser.SysNo; v.ProductLineSysno = i.ProductLineSysno == null ? null : i.ProductLineSysno; v.InvoiceInfo = i.InvoiceInfo.Convert <AdjustRequestInvoiceInfo, AdjustRequestInvoiceVM>(); }); if (info.AdjustItemInfoList != null) { info.AdjustItemInfoList.ForEach(p => { AdjustRequestItemVM item = vm.AdjustItemInfoList.FirstOrDefault(i => i.SysNo == p.SysNo); if (p.AdjustProduct != null) { item.ProductSysNo = p.AdjustProduct.SysNo; item.ProductName = p.AdjustProduct.ProductBasicInfo.ProductTitle.Content; item.ProductID = p.AdjustProduct.ProductID; } item.BatchDetailsInfoList = EntityConverter <InventoryBatchDetailsInfo, ProductBatchInfoVM> .Convert(p.BatchDetailsInfoList); }); } return(vm); }
private void hlbtnProudct_Click(object sender, RoutedEventArgs e) { HyperlinkButton btn = sender as HyperlinkButton; AdjustRequestItemVM vm = btn.DataContext as AdjustRequestItemVM; Window.Navigate(String.Format(ConstValue.IM_ProductMaintainUrlFormat, vm.ProductSysNo), null, true); }
private void hlbtnDelete_Click(object sender, RoutedEventArgs e) { HyperlinkButton btn = sender as HyperlinkButton; AdjustRequestItemVM vm = btn.DataContext as AdjustRequestItemVM; RequestVM.AdjustItemInfoList.Remove(vm); this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList; }
private void txtAdjustQuantity_TextChanged(object sender, TextChangedEventArgs e) { TextBox txt = sender as TextBox; txt.Text = txt.Text.Trim(); AdjustRequestItemVM vm = txt.DataContext as AdjustRequestItemVM; if (txt.Text != "-" && !Regex.IsMatch(txt.Text, @"^-?[1-9](\d{0,5})$")) { if (Regex.IsMatch(txt.Text, @"^-?\d+$")) { txt.Text = txt.Text.Length > 6 ? txt.Text.Substring(0, 6) : txt.Text; } else { txt.Text = "0"; txt.SelectAll(); } } }
private void hlbtnEdit_Click(object sender, RoutedEventArgs e) { HyperlinkButton btn = sender as HyperlinkButton; AdjustRequestItemVM selected = btn.DataContext as AdjustRequestItemVM; AdjustRequestItemVM seleced = RequestVM.AdjustItemInfoList.Where(p => p.ProductSysNo == selected.ProductSysNo).FirstOrDefault(); UCProductBatch batch = new UCProductBatch(seleced.ProductSysNo.Value.ToString(), seleced.ProductID, seleced.HasBatchInfo, seleced.BatchDetailsInfoList); batch.IsCreateMode = false; batch.StockSysNo = RequestVM.StockSysNo; batch.ProductSysNo = selected.ProductSysNo.Value.ToString(); batch.ProductID = selected.ProductID; batch.OperationQuantity = selected.AdjustQuantity; batch.IsNotLend_Return = true; batch.PType = Models.Request.PageType.Adjust; IDialog dialog = Window.ShowDialog("更新明细", batch, (obj, args) => { ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo; if (productList != null && productList.ProductVM != null) { productList.ProductVM.ForEach(p => { AdjustRequestItemVM vm = null; #region 只允许添加自己权限范围内可以访问商品 string errorMessage = "对不起,您没有权限访问{0}商品!"; InventoryQueryFilter queryFilter = new InventoryQueryFilter(); queryFilter.ProductSysNo = p.SysNo; queryFilter.UserName = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName; queryFilter.CompanyCode = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode; queryFilter.UserSysNo = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo; int quantity = 1; if (p.IsHasBatch == 1) { quantity = (from s in p.ProductBatchLst select s.Quantity).Sum(); } else if (p.IsHasBatch == 0) { quantity = productList.Quantity; } if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query)) { new InventoryQueryFacade(this).CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) => { if (!innerArgs.FaultsHandle()) { if (!innerArgs.Result) { Window.Alert(string.Format(errorMessage, p.ProductID)); return; } else { vm = new AdjustRequestItemVM { ProductSysNo = p.SysNo, AdjustQuantity = quantity, AdjustCost = p.UnitCost, ProductName = p.ProductName, ProductID = p.ProductID, BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst), IsHasBatch = p.IsHasBatch, RequestStatus = AdjustRequestStatus.Origin }; RequestVM.AdjustItemInfoList.Remove((AdjustRequestItemVM)this.dgAdjustProduct.SelectedItem); RequestVM.AdjustItemInfoList.Add(vm); this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList; } } }); } else { vm = new AdjustRequestItemVM { ProductSysNo = p.SysNo, AdjustQuantity = quantity, AdjustCost = p.UnitCost, ProductName = p.ProductName, ProductID = p.ProductID, BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst), IsHasBatch = p.IsHasBatch, RequestStatus = AdjustRequestStatus.Origin }; RequestVM.AdjustItemInfoList.Remove((AdjustRequestItemVM)this.dgAdjustProduct.SelectedItem); RequestVM.AdjustItemInfoList.Add(vm); this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList; } #endregion }); } }); batch.DialogHandler = dialog; }
private void btnAdd_Click(object sender, RoutedEventArgs e) { if (RequestVM.StockSysNo == null || RequestVM.StockSysNo <= 0) { Window.Alert("请选择渠道仓库"); return; } if (RequestVM != null && RequestVM.AdjustItemInfoList != null && RequestVM.AdjustItemInfoList.Count >= 1) { Window.Alert("每张损益单只能添加一个商品"); return; } UCProductBatch batch = new UCProductBatch(); batch.IsCreateMode = true; batch.StockSysNo = RequestVM.StockSysNo; batch.PType = Models.Request.PageType.Adjust; batch.IsNotLend_Return = true; IDialog dialog = Window.ShowDialog("添加明细", batch, (obj, args) => { ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo; if (productList != null && productList.ProductVM != null) { productList.ProductVM.ForEach(p => { AdjustRequestItemVM vm = RequestVM.AdjustItemInfoList.FirstOrDefault(item => { return(item.ProductSysNo == p.SysNo); }); if (vm == null) { #region 只允许添加自己权限范围内可以访问商品 string errorMessage = "对不起,您没有权限访问{0}商品!"; InventoryQueryFilter queryFilter = new InventoryQueryFilter(); queryFilter.ProductSysNo = p.SysNo; queryFilter.UserName = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName; queryFilter.CompanyCode = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode; queryFilter.UserSysNo = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo; int quantity = 1; if (p.IsHasBatch == 1) { quantity = (from s in p.ProductBatchLst select s.Quantity).Sum(); } else if (p.IsHasBatch == 0) { quantity = productList.Quantity; } if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query)) { new InventoryQueryFacade(this).CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) => { if (!innerArgs.FaultsHandle()) { if (!innerArgs.Result) { Window.Alert(string.Format(errorMessage, p.ProductID)); return; } else { vm = new AdjustRequestItemVM { ProductSysNo = p.SysNo, AdjustQuantity = quantity, AdjustCost = p.UnitCost, ProductName = p.ProductName, ProductID = p.ProductID, BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst), IsHasBatch = p.IsHasBatch, RequestStatus = AdjustRequestStatus.Origin }; RequestVM.AdjustItemInfoList.Add(vm); this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList; } } }); } else { vm = new AdjustRequestItemVM { ProductSysNo = p.SysNo, AdjustQuantity = quantity, AdjustCost = p.UnitCost, ProductName = p.ProductName, ProductID = p.ProductID, BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst), IsHasBatch = p.IsHasBatch, RequestStatus = AdjustRequestStatus.Origin }; RequestVM.AdjustItemInfoList.Add(vm); this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList; } #endregion } else { Window.Alert(string.Format("已存在编号为{0}的商品.", p.SysNo)); } }); } }); batch.DialogHandler = dialog; }