public CashRequestJournalViewModel( CashRequestJournalFilterViewModel filterViewModel, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices, IFileChooserProvider fileChooserProvider, IEmployeeRepository employeeRepository, CashRepository cashRepository, ConsoleInteractiveService consoleInteractiveService ) : base(filterViewModel, unitOfWorkFactory, commonServices) { this.unitOfWorkFactory = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory)); this.fileChooserProvider = fileChooserProvider ?? throw new ArgumentNullException(nameof(fileChooserProvider)); this.employeeRepository = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository)); this.cashRepository = cashRepository ?? throw new ArgumentNullException(nameof(cashRepository)); this.consoleInteractiveService = consoleInteractiveService ?? throw new ArgumentNullException(nameof(consoleInteractiveService)); TabName = "Журнал заявок ДС"; UpdateOnChanges( typeof(CashRequest), typeof(CashRequestSumItem), typeof(Subdivision), typeof(Employee) ); }
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(); }
public ExpenseCategoryAutoCompleteSelectorFactory( ICommonServices commonServices, ExpenseCategoryJournalFilterViewModel filterViewModel, IFileChooserProvider fileChooserProvider ) : base(commonServices, filterViewModel, fileChooserProvider) { }
public IncomeCategoryAutoCompleteSelectorFactory( ICommonServices commonServices, IncomeCategoryJournalFilterViewModel filterViewModel, IFileChooserProvider fileChooserProvider, IEmployeeJournalFactory employeeJournalFactory, ISubdivisionJournalFactory subdivisionJournalFactory) : base(commonServices, filterViewModel, fileChooserProvider, employeeJournalFactory, subdivisionJournalFactory) { }
public IncomeCategorySelectorFactory(ICommonServices commonServices, IncomeCategoryJournalFilterViewModel filterViewModel, IFileChooserProvider fileChooserProvider ) { this.commonServices = commonServices ?? throw new ArgumentNullException(nameof(commonServices)); filter = filterViewModel; this.fileChooserProvider = fileChooserProvider; }
public ExpenseCategorySelectorFactory(ICommonServices commonServices, ExpenseCategoryJournalFilterViewModel filterViewModel, IFileChooserProvider fileChooserProvider, IEmployeeJournalFactory employeeJournalFactory, ISubdivisionJournalFactory subdivisionJournalFactory) { this.commonServices = commonServices ?? throw new ArgumentNullException(nameof(commonServices)); filter = filterViewModel; this.fileChooserProvider = fileChooserProvider; _employeeJournalFactory = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory)); _subdivisionJournalFactory = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory)); }
public FuelDocumentsJournalViewModel( IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices, IEmployeeService employeeService, ISubdivisionRepository subdivisionRepository, IFuelRepository fuelRepository, ICounterpartyJournalFactory counterpartyJournalFactory, INomenclatureSelectorFactory nomenclatureSelectorFactory, IEmployeeJournalFactory employeeJournalFactory, ISubdivisionJournalFactory subdivisionJournalFactory, ICarJournalFactory carJournalFactory, IReportViewOpener reportViewOpener, IFileChooserProvider fileChooserProvider, ExpenseCategoryJournalFilterViewModel expenseCategoryJournalFilterViewModel ) : base(unitOfWorkFactory, commonServices) { this.commonServices = commonServices ?? throw new ArgumentNullException(nameof(commonServices)); this.employeeService = employeeService ?? throw new ArgumentNullException(nameof(employeeService)); this.subdivisionRepository = subdivisionRepository ?? throw new ArgumentNullException(nameof(subdivisionRepository)); this.fuelRepository = fuelRepository ?? throw new ArgumentNullException(nameof(fuelRepository)); this.counterpartyJournalFactory = counterpartyJournalFactory ?? throw new ArgumentNullException(nameof(counterpartyJournalFactory)); this.nomenclatureSelectorFactory = nomenclatureSelectorFactory ?? throw new ArgumentNullException(nameof(nomenclatureSelectorFactory)); this.employeeJournalFactory = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory)); _subdivisionJournalFactory = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory)); this.carJournalFactory = carJournalFactory ?? throw new ArgumentNullException(nameof(carJournalFactory)); this.reportViewOpener = reportViewOpener ?? throw new ArgumentNullException(nameof(reportViewOpener)); this.fileChooserProvider = fileChooserProvider ?? throw new ArgumentNullException(nameof(fileChooserProvider)); this.expenseCategoryJournalFilterViewModel = expenseCategoryJournalFilterViewModel ?? throw new ArgumentNullException(nameof(expenseCategoryJournalFilterViewModel)); TabName = "Журнал учета топлива"; var loader = new ThreadDataLoader <FuelDocumentJournalNode>(unitOfWorkFactory); loader.MergeInOrderBy(x => x.CreationDate, true); DataLoader = loader; RegisterIncomeInvoice(); RegisterTransferDocument(); RegisterWriteoffDocument(); FinishJournalConfiguration(); UpdateOnChanges( typeof(FuelIncomeInvoice), typeof(FuelIncomeInvoiceItem), typeof(FuelTransferDocument), typeof(FuelWriteoffDocument), typeof(FuelWriteoffDocumentItem) ); }
public IncomeCategoryJournalViewModel( IncomeCategoryJournalFilterViewModel journalFilterViewModel, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices, IFileChooserProvider fileChooserProvider ) : base(journalFilterViewModel, unitOfWorkFactory, commonServices) { this.unitOfWorkFactory = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory)); this.fileChooserProvider = fileChooserProvider ?? throw new ArgumentNullException(nameof(fileChooserProvider)); TabName = "Категории прихода"; UpdateOnChanges( typeof(IncomeCategory), typeof(Subdivision) ); }
public FuelWriteoffDocumentViewModel( IEntityUoWBuilder uoWBuilder, IUnitOfWorkFactory unitOfWorkFactory, IEmployeeService employeeService, IFuelRepository fuelRepository, ISubdivisionRepository subdivisionRepository, ICommonServices commonServices, IEmployeeJournalFactory employeeJournalFactory, IReportViewOpener reportViewOpener, IFileChooserProvider fileChooserProvider, ExpenseCategoryJournalFilterViewModel expenseCategoryJournalFilterViewModel, ISubdivisionJournalFactory subdivisionJournalFactory ) : base(uoWBuilder, unitOfWorkFactory, commonServices) { this.unitOfWorkFactory = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory)); this.employeeService = employeeService ?? throw new ArgumentNullException(nameof(employeeService)); this.fuelRepository = fuelRepository ?? throw new ArgumentNullException(nameof(fuelRepository)); this.subdivisionRepository = subdivisionRepository ?? throw new ArgumentNullException(nameof(subdivisionRepository)); this.commonServices = commonServices ?? throw new ArgumentNullException(nameof(commonServices)); EmployeeJournalFactory = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory)); this.reportViewOpener = reportViewOpener ?? throw new ArgumentNullException(nameof(reportViewOpener)); this.expenseCategoryJournalFilterViewModel = expenseCategoryJournalFilterViewModel ?? throw new ArgumentNullException(nameof(expenseCategoryJournalFilterViewModel)); this.fileChooserProvider = fileChooserProvider ?? throw new ArgumentNullException(nameof(fileChooserProvider)); SubdivisionJournalFactory = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory)); CreateCommands(); UpdateCashSubdivisions(); TabName = "Акт выдачи топлива"; if (CurrentEmployee == null) { AbortOpening("К вашему пользователю не привязан сотрудник, невозможно открыть документ"); } if (UoW.IsNew) { Entity.Date = DateTime.Now; Entity.Cashier = CurrentEmployee; } ValidationContext.ServiceContainer.AddService(typeof(IFuelRepository), fuelRepository); ConfigureEntries(); }
public ExpenseCategoryViewModel( IEntityUoWBuilder uowBuilder, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices, IFileChooserProvider fileChooserProvider, ExpenseCategoryJournalFilterViewModel journalFilterViewModel ) : base(uowBuilder, unitOfWorkFactory, commonServices) { ExpenseCategoryAutocompleteSelectorFactory = new ExpenseCategoryAutoCompleteSelectorFactory(commonServices, journalFilterViewModel, fileChooserProvider); if (uowBuilder.IsNewEntity) { TabName = "Создание новой категории расхода"; } else { TabName = $"{Entity.Title}"; } }
public ExpenseCategoryJournalViewModel( ExpenseCategoryJournalFilterViewModel filterViewModel, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices, IFileChooserProvider fileChooserProvider, IEmployeeJournalFactory employeeJournalFactory, ISubdivisionJournalFactory subdivisionJournalFactory ) : base(filterViewModel, unitOfWorkFactory, commonServices) { _unitOfWorkFactory = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory)); _fileChooserProvider = fileChooserProvider ?? throw new ArgumentNullException(nameof(fileChooserProvider)); _employeeJournalFactory = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory)); _subdivisionJournalFactory = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory)); TabName = "Категории расхода"; UpdateOnChanges( typeof(ExpenseCategory), typeof(Subdivision) ); }
public ExpenseCategoryViewModel( IEntityUoWBuilder uowBuilder, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices, IFileChooserProvider fileChooserProvider, ExpenseCategoryJournalFilterViewModel journalFilterViewModel, IEmployeeJournalFactory employeeJournalFactory, ISubdivisionJournalFactory subdivisionJournalFactory ) : base(uowBuilder, unitOfWorkFactory, commonServices) { if (employeeJournalFactory == null) { throw new ArgumentNullException(nameof(employeeJournalFactory)); } if (subdivisionJournalFactory == null) { throw new ArgumentNullException(nameof(subdivisionJournalFactory)); } ExpenseCategoryAutocompleteSelectorFactory = new ExpenseCategoryAutoCompleteSelectorFactory( commonServices, journalFilterViewModel, fileChooserProvider, employeeJournalFactory, subdivisionJournalFactory); SubdivisionAutocompleteSelectorFactory = subdivisionJournalFactory.CreateDefaultSubdivisionAutocompleteSelectorFactory( employeeJournalFactory.CreateEmployeeAutocompleteSelectorFactory()); if (uowBuilder.IsNewEntity) { TabName = "Создание новой категории расхода"; } else { TabName = $"{Entity.Title}"; } }
public CashRequestViewModel( IEntityUoWBuilder uowBuilder, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices, IFileChooserProvider fileChooserProvider, IEmployeeRepository employeeRepository, CashRepository cashRepository, ConsoleInteractiveService consoleInteractiveService ) : base(uowBuilder, unitOfWorkFactory, commonServices) { this.uowBuilder = uowBuilder ?? throw new ArgumentNullException(nameof(uowBuilder)); this.cashRepository = cashRepository ?? throw new ArgumentNullException(nameof(cashRepository)); this.unitOfWorkFactory = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory)); this.consoleInteractiveService = consoleInteractiveService ?? throw new ArgumentNullException(nameof(consoleInteractiveService)); var filterViewModel = new ExpenseCategoryJournalFilterViewModel { ExcludedIds = CategoryRepository.ExpenseSelfDeliveryCategories(UoW).Select(x => x.Id), HidenByDefault = true }; ExpenseCategoryAutocompleteSelectorFactory = new SimpleEntitySelectorFactory <ExpenseCategory, ExpenseCategoryViewModel>( () => { var expenseCategoryJournalViewModel = new SimpleEntityJournalViewModel <ExpenseCategory, ExpenseCategoryViewModel>( x => x.Name, () => new ExpenseCategoryViewModel( EntityUoWBuilder.ForCreate(), unitOfWorkFactory, ServicesConfig.CommonServices, fileChooserProvider, filterViewModel ), node => new ExpenseCategoryViewModel( EntityUoWBuilder.ForOpen(node.Id), unitOfWorkFactory, ServicesConfig.CommonServices, fileChooserProvider, filterViewModel ), unitOfWorkFactory, ServicesConfig.CommonServices ) { SelectionMode = JournalSelectionMode.Single }; expenseCategoryJournalViewModel.SetFilter(filterViewModel, filter => Restrictions.Not(Restrictions.In("Id", filter.ExcludedIds.ToArray()))); return(expenseCategoryJournalViewModel); }); var expenseCategorySelectorFactory = CurrentEmployee = employeeRepository.GetEmployeeForCurrentUser(UoW); if (uowBuilder.IsNewEntity) { TabName = "Создание новой заявки на выдачу ДС"; } else { TabName = $"{Entity.Title}"; } int userId = ServicesConfig.CommonServices.UserService.CurrentUserId; var isAdmin = ServicesConfig.CommonServices.UserService.GetCurrentUser(UoW).IsAdmin; IsAdminPanelVisible = isAdmin; var currentRole = getUserRole(userId); UserRole = currentRole; if (!dialogLoadedOnce) { savedUserRole = UserRole; dialogLoadedOnce = true; } if (isAdmin) { UserRole = savedUserRole; } IsNewEntity = uowBuilder.IsNewEntity; ConfigureEntityChangingRelations(); }
public CashRequestViewModel( IEntityUoWBuilder uowBuilder, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices, IFileChooserProvider fileChooserProvider, IEmployeeRepository employeeRepository, ICashRepository cashRepository, IEmployeeJournalFactory employeeJournalFactory, ISubdivisionJournalFactory subdivisionJournalFactory ) : base(uowBuilder, unitOfWorkFactory, commonServices) { this.uowBuilder = uowBuilder ?? throw new ArgumentNullException(nameof(uowBuilder)); _cashRepository = cashRepository ?? throw new ArgumentNullException(nameof(cashRepository)); EmployeeJournalFactory = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory)); SubdivisionJournalFactory = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory)); var filterViewModel = new ExpenseCategoryJournalFilterViewModel { ExcludedIds = new CategoryRepository(new ParametersProvider()).ExpenseSelfDeliveryCategories(UoW).Select(x => x.Id), HidenByDefault = true }; ExpenseCategoryAutocompleteSelectorFactory = new SimpleEntitySelectorFactory <ExpenseCategory, ExpenseCategoryViewModel>( () => { var expenseCategoryJournalViewModel = new SimpleEntityJournalViewModel <ExpenseCategory, ExpenseCategoryViewModel>( x => x.Name, () => new ExpenseCategoryViewModel( EntityUoWBuilder.ForCreate(), unitOfWorkFactory, ServicesConfig.CommonServices, fileChooserProvider, filterViewModel, EmployeeJournalFactory, SubdivisionJournalFactory ), node => new ExpenseCategoryViewModel( EntityUoWBuilder.ForOpen(node.Id), unitOfWorkFactory, ServicesConfig.CommonServices, fileChooserProvider, filterViewModel, EmployeeJournalFactory, SubdivisionJournalFactory ), unitOfWorkFactory, ServicesConfig.CommonServices ) { SelectionMode = JournalSelectionMode.Single }; expenseCategoryJournalViewModel.SetFilter(filterViewModel, filter => Restrictions.Not(Restrictions.In("Id", filter.ExcludedIds.ToArray()))); return(expenseCategoryJournalViewModel); }); var expenseCategorySelectorFactory = CurrentEmployee = employeeRepository.GetEmployeeForCurrentUser(UoW); if (uowBuilder.IsNewEntity) { TabName = "Создание новой заявки на выдачу ДС"; } else { TabName = $"{Entity.Title}"; } int userId = ServicesConfig.CommonServices.UserService.CurrentUserId; UserRoles = getUserRoles(userId); IsRoleChooserSensitive = UserRoles.Count() > 1; UserRole = UserRoles.First(); IsNewEntity = uowBuilder.IsNewEntity; ConfigureEntityChangingRelations(); }