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);
        }