private void btnSave_Click(object sender, RoutedEventArgs e) { LendRequestItemVM model = LayoutRoot.DataContext as LendRequestItemVM; bool flag = ValidationManager.Validate(LayoutRoot); if (!model.HasValidationErrors && LendRequestFacade != null) { if (model.SysNo != null) { //TODO:更新内存中LendItem Info //由父窗口执行真正的保存操作 CloseDialog(new ResultEventArgs { DialogResult = DialogResultType.OK, Data = model }); } else { //新增的时候由父窗口执行真正的保存操作 LendRequestItemVM copy = UtilityHelper.DeepClone(model); if (this.ucProductPicker.SelectedProductInfo != null) { copy.ProductName = this.ucProductPicker.SelectedProductInfo.ProductName; copy.PMUserName = "";// this.ucProductPicker.SelectedProductInfo.PMUserName; } CurrentLendItemInfoVM = copy; CloseDialog(new ResultEventArgs { DialogResult = DialogResultType.OK, Data = copy }); } } }
private LendRequestVM ConvertRequestInfoToVM(LendRequestInfo info) { LendRequestVM vm = info.Convert <LendRequestInfo, LendRequestVM>((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.LendUserSysNo = i.LendUser == null ? null : i.LendUser.SysNo; v.ProductLineSysno = i.ProductLineSysno == null ? null : i.ProductLineSysno; }); if (info.LendItemInfoList != null) { info.LendItemInfoList.ForEach(p => { LendRequestItemVM item = vm.LendItemInfoList.FirstOrDefault(i => i.SysNo == p.SysNo); if (p.LendProduct != null) { item.ProductSysNo = p.LendProduct.SysNo; item.ProductName = p.LendProduct.ProductBasicInfo.ProductTitle.Content; item.ProductID = p.LendProduct.ProductID; item.PMUserSysNo = p.LendProduct.ProductBasicInfo.ProductManager.UserInfo.SysNo; item.PMUserName = p.LendProduct.ProductBasicInfo.ProductManager.UserInfo.UserDisplayName; item.ReturnDateETA = p.ExpectReturnDate; item.ReturnQuantity = p.ReturnQuantity; } }); } return(vm); }
private void hlbtnViewReturnLog_Click(object sender, RoutedEventArgs e) { LendRequestVM requestVM = this.DataContext as LendRequestVM; LendRequestItemVM returnItem = this.dgProductList.SelectedItem as LendRequestItemVM; int productSysNo = (int)returnItem.ProductSysNo; LendRequestItemVM seleced = requestVM.LendItemInfoList.Where(p => p.ProductSysNo == returnItem.ProductSysNo).FirstOrDefault(); List <ProductBatchInfoVM> bathcInfoList = seleced.BatchDetailsInfoList; List <LendRequestReturnItemInfo> returnItemLog = new List <LendRequestReturnItemInfo>(); requestVM.ReturnItemInfoList.ForEach(i => { if (i.ReturnProduct.SysNo == productSysNo) { LendRequestReturnItemInfo ri = new LendRequestReturnItemInfo { ReturnDate = i.ReturnDate, ReturnQuantity = i.ReturnQuantity }; returnItemLog.Add(ri); } }); LendRequestReturnItem ucReturnItemLog = new LendRequestReturnItem { ReturnItemList = returnItemLog }; CurrentWindow.ShowDialog("归还", ucReturnItemLog); }
private void NewRequestItemContext() { LendRequestItemVM model = new LendRequestItemVM() { // }; CurrentLendItemInfoVM = model; }
private void hlbtnDelete_Click(object sender, RoutedEventArgs e) { HyperlinkButton btn = sender as HyperlinkButton; LendRequestItemVM vm = btn.DataContext as LendRequestItemVM; LendRequestVM RequestVM = this.DataContext as LendRequestVM; RequestVM.LendItemInfoList.Remove(vm); this.dgProductList.ItemsSource = RequestVM.LendItemInfoList; }
private void txtToReturnQuantity_MouseLeftUp(object sender, RoutedEventArgs e) { LendRequestItemVM selected = this.dgProductList.SelectedItem as LendRequestItemVM; UCProductBatch batch = new UCProductBatch(); IDialog dialog = CurrentWindow.ShowDialog("添加明细", batch, (obj, args) => { List <ProductVM> productList = args.Data as List <ProductVM>; if (productList != null) { } }, new Size(800, 500)); }
public LendRequestItemDetail(LendRequestItemVM requestItem) : this() { CurrentLendItemInfoVM = UtilityHelper.DeepClone(requestItem); }
private void btnAdd_Click(object sender, RoutedEventArgs e) { if (!PreCheckAddProduct(RequestVM)) { return; } UCProductBatch batch = new UCProductBatch(); batch.IsCreateMode = true; batch.StockSysNo = RequestVM.StockSysNo; batch.PType = Models.Request.PageType.Lend; batch.IsNotLend_Return = true; IDialog dialog = Window.ShowDialog("添加明细", batch, (obj, args) => { ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo; if (productList != null) { productList.ProductVM.ForEach(p => { LendRequestItemVM vm = RequestItemList.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 LendRequestItemVM { ProductSysNo = p.SysNo, LendQuantity = quantity, ProductName = p.ProductName, ProductID = p.ProductID, PMUserName = p.PMUserName, ReturnDateETA = productList.ReturnDate, BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst), IsHasBatch = p.IsHasBatch }; RequestItemList.Add(vm); ucLendProductList.dgProductList.ItemsSource = RequestItemList; } } }); } else { vm = new LendRequestItemVM { ProductSysNo = p.SysNo, LendQuantity = quantity, ProductName = p.ProductName, ProductID = p.ProductID, PMUserName = p.PMUserName, ReturnDateETA = productList.ReturnDate, BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst), IsHasBatch = p.IsHasBatch }; RequestItemList.Add(vm); ucLendProductList.dgProductList.ItemsSource = RequestItemList; } #endregion } else { Window.Alert(string.Format("已存在编号为{0}的商品.", p.SysNo)); } }); } }); batch.DialogHandler = dialog; }
private void ShowEditModeDialog(object sender, RoutedEventArgs e, string title, bool isNotReturn) { HyperlinkButton btn = sender as HyperlinkButton; List <LendRequestItemVM> itemSource = this.dgProductList.ItemsSource as List <LendRequestItemVM>; LendRequestItemVM selected = this.dgProductList.SelectedItem as LendRequestItemVM; LendRequestVM RequestVM = this.DataContext as LendRequestVM; LendRequestItemVM seleced = RequestVM.LendItemInfoList.Where(p => p.ProductSysNo == selected.ProductSysNo).FirstOrDefault(); UCProductBatch batch = new UCProductBatch(seleced.ProductSysNo.Value.ToString(), seleced.ProductID, selected.HasBatchInfo, seleced.BatchDetailsInfoList); batch.StockSysNo = RequestVM.StockSysNo; if (seleced.ReturnDateETA.HasValue) { batch.ReturnDate = seleced.ReturnDateETA; } batch.OperationQuantity = seleced.LendQuantity.HasValue ? seleced.LendQuantity.Value : 0; batch.PType = Models.Request.PageType.Lend; batch.IsCreateMode = false; batch.IsNotLend_Return = isNotReturn; IDialog dialog = CurrentWindow.ShowDialog("添加明细", batch, (obj, args) => { ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo; if (productList != null) { productList.ProductVM.ForEach(p => { LendRequestItemVM 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?returnQuantity = null; 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 (!batch.IsNotLend_Return) { returnQuantity = (from s in p.ProductBatchLst select s.ReturnQuantity).Sum(); } if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query)) { new InventoryQueryFacade(CurrentPage).CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) => { if (!innerArgs.FaultsHandle()) { if (!innerArgs.Result) { CurrentWindow.Alert(string.Format(errorMessage, p.ProductID)); return; } else { vm = new LendRequestItemVM { ProductSysNo = p.SysNo, LendQuantity = quantity, ProductName = p.ProductName, ProductID = p.ProductID, PMUserName = p.PMUserName, ReturnDateETA = productList.ReturnDate, BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst), IsHasBatch = p.IsHasBatch }; RequestVM.LendItemInfoList.Remove((LendRequestItemVM)this.dgProductList.SelectedItem); RequestVM.LendItemInfoList.Add(vm); this.dgProductList.ItemsSource = RequestVM.LendItemInfoList; } } }); } else { vm = new LendRequestItemVM { ProductSysNo = p.SysNo, LendQuantity = quantity, ProductName = p.ProductName, ProductID = p.ProductID, PMUserName = p.PMUserName, ReturnDateETA = productList.ReturnDate, BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst), IsHasBatch = p.IsHasBatch }; RequestVM.LendItemInfoList.Remove((LendRequestItemVM)this.dgProductList.SelectedItem); RequestVM.LendItemInfoList.Add(vm); this.dgProductList.ItemsSource = RequestVM.LendItemInfoList; } #endregion }); } }); batch.DialogHandler = dialog; }
private void hlbtnReturn_Click(object sender, RoutedEventArgs e) { HyperlinkButton btn = sender as HyperlinkButton; List <LendRequestItemVM> itemSource = this.dgProductList.ItemsSource as List <LendRequestItemVM>; LendRequestItemVM selected = this.dgProductList.SelectedItem as LendRequestItemVM; LendRequestVM RequestVM = this.DataContext as LendRequestVM; LendRequestItemVM seleced = RequestVM.LendItemInfoList.Where(p => p.ProductSysNo == selected.ProductSysNo).FirstOrDefault(); UCProductBatch batch = new UCProductBatch(seleced.ProductSysNo.Value.ToString(), seleced.ProductID, selected.HasBatchInfo, seleced.BatchDetailsInfoList); batch.StockSysNo = RequestVM.StockSysNo; if (seleced.ReturnDateETA.HasValue) { batch.ReturnDate = seleced.ReturnDateETA; } batch.PType = Models.Request.PageType.Lend; batch.IsCreateMode = false; batch.IsNotLend_Return = false; IDialog dialog = CurrentWindow.ShowDialog("添加明细", batch, (obj, args) => { ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo; if (productList != null) { productList.ProductVM.ForEach(p => { #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?returnQuantity = null; Dictionary <string, int> batchReturns = new Dictionary <string, int>(); if (p.IsHasBatch == 1) { returnQuantity = (from s in p.ProductBatchLst select s.ReturnQuantity).Sum(); foreach (var item in p.ProductBatchLst) { if (item.ReturnQuantity > 0) { batchReturns.Add(item.BatchNumber, item.ReturnQuantity); } } } else if (p.IsHasBatch == 0) { returnQuantity = productList.ReturnQuantity; } if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query)) { new InventoryQueryFacade(CurrentPage).CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) => { if (!innerArgs.FaultsHandle()) { if (!innerArgs.Result) { CurrentWindow.Alert(string.Format(errorMessage, p.ProductID)); return; } else { RequestVM.LendItemInfoList.ForEach(t => { if (t.ProductSysNo == selected.ProductSysNo) { if (p.IsHasBatch == 0) { t.ToReturnQuantity = returnQuantity; } else if (p.IsHasBatch == 1) { foreach (var item in batchReturns) { t.BatchDetailsInfoList.ForEach(b => { if (b.BatchNumber.Equals(item.Key)) { b.ReturnQuantity = item.Value; // UI if (t.ToReturnQuantity.HasValue) { t.ToReturnQuantity = t.ToReturnQuantity.Value + item.Value; } else { t.ToReturnQuantity = item.Value; } } }); } } } }); this.dgProductList.ItemsSource = RequestVM.LendItemInfoList; } } }); } else { RequestVM.LendItemInfoList.ForEach(t => { // clear toReturnQuantity t.ToReturnQuantity = null; if (t.ProductSysNo == selected.ProductSysNo) { if (p.IsHasBatch == 0) { t.ToReturnQuantity = returnQuantity; } else if (p.IsHasBatch == 1) { foreach (var item in batchReturns) { t.BatchDetailsInfoList.ForEach(b => { if (b.BatchNumber.Equals(item.Key)) { b.ReturnQuantity = item.Value; // UI if (t.ToReturnQuantity.HasValue) { t.ToReturnQuantity = t.ToReturnQuantity.Value + item.Value; } else { t.ToReturnQuantity = item.Value; } } }); } } } }); this.dgProductList.ItemsSource = RequestVM.LendItemInfoList; } #endregion }); } }); batch.DialogHandler = dialog; }