private void NavToEditPurchaseOrder(WpfPurchaseOrder wpfPurchaseOrder, WpfUser currentUser) { _addEditPurchaseOrderListViewModel.EditMode = true; _addEditPurchaseOrderListViewModel.SetCurrentUser(currentUser); _addEditPurchaseOrderListViewModel.SetPurchaseOrder(wpfPurchaseOrder); CurrentViewModel = _addEditPurchaseOrderListViewModel; }
public void SetPurchaseOrder(WpfPurchaseOrder wpfPurchaseOrder) { PurchaseOrder = wpfPurchaseOrder; if (EditMode) { var purchaseOrderWithLines = _unitOfWork .PurchaseOrders .GetPurchaseOrderByPurchaseOrderNumber(wpfPurchaseOrder.PurchaseOrderNumber, true); if (purchaseOrderWithLines == null) { throw new ApplicationException("Invalid Purchase Order"); } PurchaseOrder.Lines = new BindingList <WpfPurchaseOrderLine>( RestproMapper.MapPurchaseOrderLineListToWpfPurchaseOrderLineList(purchaseOrderWithLines .PurchaseOrderLines.ToList())); } else { PurchaseOrder.Lines = new BindingList <WpfPurchaseOrderLine>(); PurchaseOrder.CreatedBy = _unitOfWork.Users.SingleOrDefault(x => x.Id == CurrentUser.Id).Id; PurchaseOrder.PurchaseOrderNumber = GenerateNewPurchaseOrderNumber().ToString(); PurchaseOrder.StatusId = Statuses.New.ToString(); PurchaseOrder.Active = true; PurchaseOrder.DateCreated = DateTime.Today; _unitOfWork.PurchaseOrders .AddPurchaseOrder( RestproMapper.MapWpfPurchaseOrderToPurchaseOrderWithLines(PurchaseOrder)); PurchaseOrder.Id = _unitOfWork.PurchaseOrders .SingleOrDefault(p => p.PurchaseOrderNumber == PurchaseOrder.PurchaseOrderNumber).Id; } if (PurchaseOrder != null) { PurchaseOrder.ErrorsChanged -= RaiseCanExecuteChanged; } PurchaseOrder.ErrorsChanged += RaiseCanExecuteChanged; this.PurchaseOrder.Lines.ListChanged += this.OnListChanged; }
private void OnEditPurchaseOrderClick(WpfPurchaseOrder wpfPurchaseOrder) { EditPurchaseOrderRequested(wpfPurchaseOrder, CurrentUser); }