private ReactiveCommand GetCommandRemovePlanReceiptOrder(IObservable <bool> canExecute = null) { var command = new ReactiveCommand(canExecute); command.RegisterAsync(_ => _messenger.AskToObservable( "Удалить?", MessageBoxButton.YesNo, result => { if (result == MessageBoxResult.Yes) { PlanReceiptOrderLiteDto removingItem = SelectedPlanReceiptOrder; if (removingItem == null) { return; } RemovePlanReceiptOrder(removingItem.Rn); PlanReceiptOrderFilterViewModel.Result.Remove(removingItem); } })).Subscribe(); command.ThrownExceptions.Subscribe(OnError); command.IsExecuting.Subscribe(isExecuting => IsBusy = isExecuting); return(command); }
private void LetterIsComeback(UpdatedEntityMessage <PlanReceiptOrder> updatedEntityMessage) { var target = this.GetTarget(); if (target == null) { return; } int index = 0; PlanReceiptOrderLiteDto oldItem = target.PlanReceiptOrderFilterViewModel.Result.FirstOrDefault( x => x.Rn == updatedEntityMessage.Entity.Rn); PlanReceiptOrderLiteDto insetingItem = GetDto(updatedEntityMessage.Entity.Rn) ?? updatedEntityMessage.Entity.MapTo <PlanReceiptOrderLiteDto>(); if (oldItem != null) { index = target.PlanReceiptOrderFilterViewModel.Result.IndexOf(oldItem); target.PlanReceiptOrderFilterViewModel.Result.Remove(oldItem); } target.PlanReceiptOrderFilterViewModel.Result.Insert(index, insetingItem); target.SelectedPlanReceiptOrder = insetingItem; }
private void OnSelectedPlanReceiptOrder(PlanReceiptOrderLiteDto planReceiptOrder) { if (planReceiptOrder == null) { if (PlanCertificateFilterViewModel.Result != null) { PlanCertificateFilterViewModel.Result.Clear(); } return; } PlanCertificateFilterViewModel.Filter.RnPlanReceiptOrder = planReceiptOrder.Rn; PlanCertificateFilterViewModel.InvokeCommand.Execute(null); }
private void LetterIsComeback(AddedEntityMessage <PlanReceiptOrder> addedEntityMessage) { var target = GetTarget(); if (target == null) { return; } PlanReceiptOrderLiteDto insetingItem = GetDto(addedEntityMessage.Entity.Rn) ?? addedEntityMessage.Entity.MapTo <PlanReceiptOrderLiteDto>(); target.PlanReceiptOrderFilterViewModel.Result.Insert(0, insetingItem); target.SelectedPlanReceiptOrder = insetingItem; }