// Add Tips to existing order - Amjad private async void AddTipToOrder(OrderVM order, decimal tip_amt) { await Task.Factory.StartNew(() => { ccSale.ccUpdateTip update = new ccSale.ccUpdateTip(); string amount = tip_amt.ToString(CultureInfo.CreateSpecificCulture("en-US")); string txn_id = order._orderHeader.TxnId; update.SetTipDetails(txn_id, amount); update.Process(); var result = update.Resp_Msg == "SUCCESS" ? true : false; Application.Current.Dispatcher.BeginInvoke(new Action(() => { if (result) { new Notifies.TransactionSuccessNotify("Tip ADDED successfully.").Show(() => { order.TipAmount = tip_amt; SaveOrderCommand.Execute(order); }); } else { new Notifies.TransactionFailedNotify("FAILED to add tip.", null).Show(); } })); }); }
public OrderMasterDetailsViewModel() { _catalog = new OrderCatalog(); _orderItemViewModelSelected = new OrderItemViewModel(new Orders()); _deleteCommand = new DeleteOrderCommand(_catalog, this); _newOrderCommand = new NewOrderCommand(_catalog, this); _saveCommand = new SaveOrderCommand(_catalog); _refreshCommand = new RefreshOrderCommand(this, _catalog); _catalog.Load(); }
public async Task <IActionResult> SaveOrder([FromBody] SaveOrderCommand saveOrderCommand) { var orderDtoResult = await QueryProcessor.GetQueryHandler <SaveOrderCommand, OrderDto>(saveOrderCommand); if (orderDtoResult.Failure) { return(BadRequest(orderDtoResult.ErrorMessages)); } var orderDto = orderDtoResult.Object; return(Ok(true)); }
protected override void GoBackCommand_Execute() { //если были какие-то изменения if (SaveOrderCommand.CanExecute()) { if (Container.Resolve <IMessageService>().ShowYesNoMessageDialog("Сохранение", "Сохранить изменения?", defaultNo: true) == MessageDialogResult.Yes) { SaveOrderCommand.Execute(); } } RegionManager.Regions[RegionNames.ContentRegion].NavigationService.Journal.GoBack(); }
public void Insert(InsertOrderViewModel model) { var order = model.Adapt <Order>(); validateInsert(order); if (Valid) { var orderCmd = new SaveOrderCommand(_orderRepository, _orderValidator); orderCmd.Execute(order); AddNotifications(orderCmd); addItems(order); } if (Valid) { _context.SaveChanges(); } }
private void AddGroup(SalesUnitOrderGroup unitsGroup) { //фиксируем заказ unitsGroup.Order = Item; //фиксируем дату действия и заказ unitsGroup.SignalToStartProductionDone = DateTime.Today; //ставим предполагаемую дату производства unitsGroup.EndProductionPlanDate = unitsGroup.Units.First().EndProductionDateExpected; unitsGroup.Units.ForEach(x => x.EndProductionPlanDate = x.EndProductionDateExpected); //заполняем позиции заказа int orderPosition = 1; unitsGroup.Units.ForEach(x => x.OrderPosition = orderPosition++.ToString()); //переносим группу в план производства GroupsInOrder.Add(unitsGroup); GroupsPotential.Remove(unitsGroup); SaveOrderCommand.RaiseCanExecuteChanged(); }
// Refund / Void Completed Orders - Amjad 5/13 private async void RefundOrder(OrderVM order, decimal refundAmt) { await Task.Factory.StartNew(() => { // Prepare parameters for void/refund string amount = refundAmt.ToString(CultureInfo.CreateSpecificCulture("en-US")); string txn_id = order._orderHeader.TxnId; ccSale.ccReturn refund = new ccSale.ccReturn(); refund.SetReturnDetails(txn_id, amount); ccSale.ccVoid voider = new ccSale.ccVoid(); voider.SetVoidDetails(txn_id); voider.Process(); var voidResult = voider.Resp_Msg == "APPROVAL" ? true : false; Application.Current.Dispatcher.BeginInvoke(new Action(() => { if (voidResult) // Try a void first ... (unsettled batches) { new Notifies.TransactionSuccessNotify("Transaction VOIDED successfully.").Show(() => { order.OrderStatus = OrderStatuses.Refunded; SaveOrderCommand.Execute(order); }); } else // If failed try a refund ... (settled batches) { refund.Process(); var refundResult = refund.Resp_Msg == "APPROVAL" ? true : false; if (refundResult) { new Notifies.TransactionSuccessNotify("REFUND processed successfully.").Show(() => { order.OrderStatus = OrderStatuses.Refunded; SaveOrderCommand.Execute(order); }); } else { new Notifies.TransactionFailedNotify("This transaction cannot be refunded.", null).Show(); } } })); }); }
public OrderViewModel(IUnityContainer container) : base(container) { //сохранить заказ SaveOrderCommand = new DelegateLogCommand( () => { if (UnitOfWork.SaveChanges().OperationCompletedSuccessfully) { Item.AcceptChanges(); _unitsWrappers.AcceptChanges(); var changed = _unitsWrappers.ModifiedItems.ToList(); if (changed.Any()) { Container.Resolve <IEventAggregator>().GetEvent <AfterSaveOrderItemsEvent>().Publish(changed.Select(salesUnitOrderItem => salesUnitOrderItem.Model)); } } SaveOrderCommand.RaiseCanExecuteChanged(); }, () => { //юниты валидны var unitsIsValid = _unitsWrappers != null && _unitsWrappers.IsValid; if (!unitsIsValid) { return(false); } //заказ валиден var orderIsValid = Item != null && Item.IsValid && GroupsInOrder.Any(); if (!orderIsValid) { return(false); } //если нет плановых дат производства if (GroupsInOrder.SelectMany(x => x.Units).Any(x => x.EndProductionPlanDate == null)) { return(false); } //если нет позиций заказа if (GroupsInOrder.SelectMany(x => x.Units).Any(x => string.IsNullOrEmpty(x.OrderPosition))) { return(false); } //что-то изменилось return(_unitsWrappers.IsChanged || Item.IsChanged); }); RemoveOrderCommand = new DelegateLogCommand( () => { var dr = Container.Resolve <IMessageService>().ShowYesNoMessageDialog("Удаление", "Вы уверены, что хотите удалить этот заказ?"); if (dr != MessageDialogResult.Yes) { return; } var order = Item.Model; _unitsWrappers.ForEach(x => x.RejectChanges()); foreach (var groupInOrder in GroupsInOrder) { groupInOrder.EndProductionPlanDate = null; groupInOrder.SignalToStartProductionDone = null; groupInOrder.Order = null; groupInOrder.Units.ForEach(x => x.OrderPosition = string.Empty); } _unitsWrappers.ForEach(salesUnitOrderItem => salesUnitOrderItem.AcceptChanges()); if (UnitOfWork.RemoveEntity(order).OperationCompletedSuccessfully) { Container.Resolve <IEventAggregator>().GetEvent <AfterRemoveOrderEvent>().Publish(order); GoBackCommand.Execute(null); } }); AddGroupCommand = new DelegateLogCommand(AddGroupCommand_Execute, () => GroupsPotential.SelectedItem != null); RemoveGroupCommand = new DelegateLogCommand(RemoveGroupCommand_Execute, () => GroupsInOrder.SelectedItem != null); ShowProductStructureCommand = new DelegateLogCommand( () => { var salesUnit = GroupsPotential.SelectedUnit?.Model ?? GroupsPotential.SelectedGroup.Unit; var productStructureViewModel = new ProductStructureViewModel(salesUnit); Container.Resolve <IDialogService>().Show(productStructureViewModel, "Структура продукта"); }, () => GroupsPotential.SelectedItem != null); }
private void OnPropertyChanged(object sender, PropertyChangedEventArgs args) { SaveOrderCommand.RaiseCanExecuteChanged(); AddGroupCommand.RaiseCanExecuteChanged(); }