public PaymentFromBankClientController( IPaymentItemsRepository paymentItemsRepository, IOrderRepository orderRepository, IPaymentsRepository paymentsRepository) { _paymentItemsRepository = paymentItemsRepository ?? throw new ArgumentNullException(nameof(paymentItemsRepository)); _orderRepository = orderRepository ?? throw new ArgumentNullException(nameof(orderRepository)); _paymentsRepository = paymentsRepository ?? throw new ArgumentNullException(nameof(paymentsRepository)); }
public ManualPaymentMatchingViewModel( IEntityUoWBuilder uowBuilder, IUnitOfWorkFactory uowFactory, ICommonServices commonServices, IOrderRepository orderRepository, IPaymentItemsRepository paymentItemsRepository, IPaymentsRepository paymentsRepository, IDialogsFactory dialogsFactory) : base(uowBuilder, uowFactory, commonServices) { _orderRepository = orderRepository ?? throw new ArgumentNullException(nameof(orderRepository)); _paymentItemsRepository = paymentItemsRepository ?? throw new ArgumentNullException(nameof(paymentItemsRepository)); _paymentsRepository = paymentsRepository ?? throw new ArgumentNullException(nameof(paymentsRepository)); _dialogsFactory = dialogsFactory ?? throw new ArgumentNullException(nameof(dialogsFactory)); if (uowBuilder.IsNewEntity) { throw new AbortCreatingPageException( "Невозможно создать новую загрузку выписки из текущего диалога, необходимо использовать диалоги создания", _error); } var curEditor = Entity.CurrentEditorUser; if (curEditor != null) { throw new AbortCreatingPageException( $"Невозможно открыть диалог ручного распределения платежа №{Entity.PaymentNum}," + $" т.к. он уже открыт пользователем: {curEditor.Name}", _error); } UpdateCurrentEditor(); TabName = "Ручное распределение платежей"; //Поиск Search = new SearchViewModel(); _searchHelper = new SearchHelper(Search); Search.OnSearch += (sender, args) => UpdateNodes(); CanRevertPayFromOrderPermission = CommonServices.CurrentPermissionService.ValidatePresetPermission("can_revert_pay_from_order"); GetLastBalance(); UpdateSumToAllocate(); UpdateCurrentBalance(); CreateCommands(); GetCounterpartyDebt(); ConfigureEntityChangingRelations(); UpdateNodes(); if (HasPaymentItems) { UpdateAllocatedNodes(); } TabClosed += OnTabClosed; }