public OrderWithoutShipmentForDebtViewModel( IEntityUoWBuilder uowBuilder, IUnitOfWorkFactory uowFactory, ICommonServices commonServices) : base(uowBuilder, uowFactory, commonServices) { bool canCreateBillsWithoutShipment = CommonServices.PermissionService.ValidateUserPresetPermission("can_create_bills_without_shipment", CurrentUser.Id); if (uowBuilder.IsNewEntity) { if (canCreateBillsWithoutShipment) { if (!AskQuestion("Вы действительно хотите создать счет без отгрузки на долг?")) { AbortOpening(); } else { Entity.Author = EmployeeSingletonRepository.GetInstance().GetEmployeeForCurrentUser(UoW); } } else { AbortOpening("У Вас нет прав на выставление счетов без отгрузки."); } } TabName = "Счет без отгрузки на долг"; EntityUoWBuilder = uowBuilder; SendDocViewModel = new SendDocumentByEmailViewModel(new EmailRepository(), EmployeeSingletonRepository.GetInstance(), commonServices.InteractiveService, UoW); }
public OrderWithoutShipmentForDebtViewModel( IEntityUoWBuilder uowBuilder, IUnitOfWorkFactory uowFactory, ICommonServices commonServices, IEmployeeService employeeService, IParametersProvider parametersProvider) : base(uowBuilder, uowFactory, commonServices) { if (employeeService == null) { throw new ArgumentNullException(nameof(employeeService)); } _parametersProvider = parametersProvider ?? throw new ArgumentNullException(nameof(parametersProvider)); bool canCreateBillsWithoutShipment = CommonServices.PermissionService.ValidateUserPresetPermission("can_create_bills_without_shipment", CurrentUser.Id); var currentEmployee = employeeService.GetEmployeeForUser(UoW, UserService.CurrentUserId); if (uowBuilder.IsNewEntity) { if (canCreateBillsWithoutShipment) { if (!AskQuestion("Вы действительно хотите создать счет без отгрузки на долг?")) { AbortOpening(); } else { Entity.Author = currentEmployee; } } else { AbortOpening("У Вас нет прав на выставление счетов без отгрузки."); } } TabName = "Счет без отгрузки на долг"; EntityUoWBuilder = uowBuilder; SendDocViewModel = new SendDocumentByEmailViewModel( new EmailRepository(), currentEmployee, commonServices.InteractiveService, _parametersProvider, UoW); }