public WayBillGeneratorViewModel(
            IUnitOfWorkFactory unitOfWorkFactory,
            IInteractiveService interactiveService,
            INavigationManager navigation,
            IWayBillDocumentRepository wayBillDocumentRepository,
            RouteGeometryCalculator calculator,
            IEmployeeJournalFactory employeeJournalFactory,
            IDocTemplateRepository docTemplateRepository,
            IFileChooserProvider fileChooserProvider) : base(unitOfWorkFactory, interactiveService, navigation)
        {
            EntityAutocompleteSelectorFactory = employeeJournalFactory?.CreateEmployeeAutocompleteSelectorFactory()
                                                ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _fileChooser = fileChooserProvider ?? throw new ArgumentNullException(nameof(fileChooserProvider));

            if (wayBillDocumentRepository == null)
            {
                throw new ArgumentNullException(nameof(wayBillDocumentRepository));
            }

            if (calculator == null)
            {
                throw new ArgumentNullException(nameof(calculator));
            }

            Entity = new WayBillDocumentGenerator(
                UnitOfWorkFactory.CreateWithoutRoot(), wayBillDocumentRepository, calculator, docTemplateRepository);

            TabName = "Путевые листы для ФО";
            CreateCommands();
        }
Esempio n. 2
0
 public WayBillDocumentGenerator(
     IUnitOfWork unitOfWork,
     IWayBillDocumentRepository repository,
     RouteGeometryCalculator calculator,
     IDocTemplateRepository docTemplateRepository)
 {
     _uow = unitOfWork ?? throw new ArgumentNullException(nameof(unitOfWork));
     _wayBillDocumentRepository = repository ?? throw new ArgumentNullException(nameof(repository));
     _distanceCalculator        = calculator ?? throw new ArgumentNullException(nameof(calculator));
     _docTemplateRepository     = docTemplateRepository ?? throw new ArgumentNullException(nameof(docTemplateRepository));
     DocPrinterInit();
 }