public AirOrdersViewModel() { Logger logger = LogManager.GetCurrentClassLogger(); EnableCollectionSynchronization(); AirOrdersModelSingleton.Instance.OnOrderAdded += new AirOrdersModelSingleton.OrderAddedHandler(ord => { AfterAddOrder(); }); AddNewOrderCommand = new DelegateCommand(_ => { MainClass.ShowUC(UI.UIModify.GetCtrlAddOrder()); }); EditOrderCommand = new DelegateCommand(_ => { //thread if (CurentOrder != null) { if (!CanEditCurentOrder) { return; } MainClass.StartBusy(); MainClass.ShowUC(UI.UIModify.GetCtrlAddOrder(CurentOrder)); MainClass.StopBusy(); } }); CopyOrderCommand = new DelegateCommand(_ => { if (CurentOrder != null) { MainClass.StartBusy(); var CopyOrder = (OrderFlight)CurentOrder.Clone(); MainClass.ShowUC(UI.UIModify.GetCtrlAddOrder(CopyOrder)); MainClass.StopBusy(); } }); CloseOrderCommand = new DelegateCommand(_ => { if (CurentOrder != null) { MainClass.CloseSingleCheck(CurentOrder); RaisePropertyChanged("CanEditCurentOrder"); RaisePropertyChanged("CanCloseCurentOrder"); } }); DeleteOrderCommand = new DelegateCommand(_ => { try { logger.Debug($"DeleteOrderCommand ToFly"); if (CurentOrder != null) { logger.Debug($"DeleteOrderCommand ToFly Id: {CurentOrder.Id}"); var delres = UI.UIModify.ShowPromt($"Вы уверены, что хотите удалить заказ №{CurentOrder.Id + Environment.NewLine}. Если да, то введите номер заказа.", "Удалить", "Отмена", "Удаление заказа"); if (delres != null && delres.DialogResult.GetValueOrDefault()) { if (delres.PromptResult != null && (delres.PromptResult.Trim() == CurentOrder.Id.ToString())) { AirOrdersModelSingleton.Instance.DeleteOrder(CurentOrder); } } } } catch (Exception e) { logger.Error($"DeleteOrderCommand error : {e.Message}"); } }); RefreshCommand = new DelegateCommand(_ => { if (!MainClass.AddAirOrderPaneOpen()) { AirOrdersModelSingleton.Instance.RefreshOrdersRange(); } else { UI.UIModify.ShowAlert($"Для обновления данных по заказам ToFly {Environment.NewLine} необходимо закрыть все вкладки {Environment.NewLine}с добавление либо изменением заказа ToFly."); } }); SetSendStatusCommand = new DelegateCommand(_ => { if (CurentOrder != null) { logger.Debug($"SetSendStatusCommand {CurentOrder.Id}"); CurentOrder.SendById = Authorization.CurentUser.Id; CurentOrder.SendBy = Authorization.CurentUser; if (curentOrder.OrderStatus == OrderStatus.InWork) { CurentOrder.OrderStatus = OrderStatus.Sent; SH.SHWrapper.CreateSalesInvoiceSync(CurentOrder, out string err); } else if (curentOrder.OrderStatus == OrderStatus.Sent) { CurentOrder.OrderStatus = OrderStatus.InWork; } Models.AirOrdersModelSingleton.Instance.UpdateOrder(CurentOrder); logger.Debug($"SetSendStatusCommand end {CurentOrder.Id}"); RaisePropertyChanged("SetSendStatusBntName"); } }); PrintLabelCommand = new DelegateCommand(_ => { UI.UIModify.ShowWndPrintLabels(CurentOrder); }); }