示例#1
0
        public IncomeCashTransferDocumentViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICategoryRepository categoryRepository,
            IEmployeeRepository employeeRepository,
            ISubdivisionRepository subdivisionRepository,
            IEmployeeJournalFactory employeeJournalFactory,
            ICarJournalFactory carJournalFactory) : base(uowBuilder, unitOfWorkFactory)
        {
            _categoryRepository    = categoryRepository ?? throw new ArgumentNullException(nameof(categoryRepository));
            _employeeRepository    = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            _subdivisionRepository = subdivisionRepository ?? throw new ArgumentNullException(nameof(subdivisionRepository));
            EmployeeAutocompleteSelectorFactory =
                (employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory)))
                .CreateWorkingEmployeeAutocompleteSelectorFactory();
            CarAutocompleteSelectorFactory =
                (carJournalFactory ?? throw new ArgumentNullException(nameof(carJournalFactory)))
                .CreateCarAutocompleteSelectorFactory();

            if (uowBuilder.IsNewEntity)
            {
                Entity.CreationDate = DateTime.Now;
                Entity.Author       = Cashier;
            }
            CreateCommands();
            UpdateCashSubdivisions();
            UpdateIncomeCategories();
            UpdateExpenseCategories();
            View = new IncomeCashTransferDlg(this);

            ConfigEntityUpdateSubscribes();
            ConfigureEntityPropertyChanges();
        }
示例#2
0
        public CarEventViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            ICarJournalFactory carJournalFactory,
            ICarEventTypeJournalFactory carEventTypeJournalFactory,
            IEmployeeService employeeService,
            IEmployeeJournalFactory employeeJournalFactory)
            : base(uowBuilder, unitOfWorkFactory, commonServices)
        {
            if (employeeService == null)
            {
                throw new ArgumentNullException(nameof(employeeService));
            }

            CarSelectorFactory          = carJournalFactory.CreateCarAutocompleteSelectorFactory();
            CarEventTypeSelectorFactory = carEventTypeJournalFactory.CreateCarEventTypeAutocompleteSelectorFactory();
            EmployeeSelectorFactory     =
                (employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory)))
                .CreateWorkingDriverEmployeeAutocompleteSelectorFactory();

            TabName = "Событие ТС";

            if (Entity.Id == 0)
            {
                Entity.Author     = employeeService.GetEmployeeForUser(UoW, UserService.CurrentUserId);
                Entity.CreateDate = DateTime.Now;
            }
        }
        public WayBillReport(IEmployeeJournalFactory employeeJournalFactory, ICarJournalFactory carJournalFactory)
        {
            _employeeJournalFactory = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _carJournalFactory      = carJournalFactory ?? throw new ArgumentNullException(nameof(carJournalFactory));

            Build();
            UoW = UnitOfWorkFactory.CreateWithoutRoot();
            Configure();
        }
示例#4
0
        public MileageReport(
            IEmployeeJournalFactory employeeJournalFactory,
            ICarJournalFactory carJournalFactory)
        {
            _employeeJournalFactory = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _carJournalFactory      = carJournalFactory ?? throw new ArgumentNullException(nameof(carJournalFactory));

            Build();
            Configure();
        }
示例#5
0
        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 CarEventFilterViewModel(ICarJournalFactory carJournalFactory,
                                ICarEventTypeJournalFactory carEventTypeJournalFactory,
                                IEmployeeJournalFactory employeeJournalFactory)
 {
     CarSelectorFactory =
         (carJournalFactory ?? throw new ArgumentNullException(nameof(carJournalFactory)))
         .CreateCarAutocompleteSelectorFactory();
     CarEventTypeSelectorFactory =
         (carEventTypeJournalFactory ?? throw new ArgumentNullException(nameof(carEventTypeJournalFactory)))
         .CreateCarEventTypeAutocompleteSelectorFactory();
     EmployeeSelectorFactory =
         (employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory)))
         .CreateWorkingEmployeeAutocompleteSelectorFactory();
     DriverSelectorFactory = employeeJournalFactory.CreateWorkingDriverEmployeeAutocompleteSelectorFactory();
 }
示例#7
0
        public CarEventJournalViewModel(
            CarEventFilterViewModel filterViewModel,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            ICarJournalFactory carJournalFactory,
            ICarEventTypeJournalFactory carEventTypeJournalFactory,
            IEmployeeService employeeService)
            : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            TabName = "Журнал событий ТС";

            _carJournalFactory          = carJournalFactory ?? throw new ArgumentNullException(nameof(carJournalFactory));
            _carEventTypeJournalFactory = carEventTypeJournalFactory ?? throw new ArgumentNullException(nameof(carEventTypeJournalFactory));
            _employeeService            = employeeService ?? throw new ArgumentNullException(nameof(employeeService));

            UpdateOnChanges(
                typeof(CarEvent),
                typeof(CarEventType)
                );
        }
        public FuelTransferDocumentViewModel(
            IEntityUoWBuilder uoWBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            IEmployeeService employeeService,
            ISubdivisionRepository subdivisionRepository,
            IFuelRepository fuelRepository,
            ICommonServices commonServices,
            IEmployeeJournalFactory employeeJournalFactory,
            ICarJournalFactory carJournalFactory,
            IReportViewOpener reportViewOpener
            ) : base(uoWBuilder, unitOfWorkFactory, 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.employeeJournalFactory = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            this.carJournalFactory      = carJournalFactory ?? throw new ArgumentNullException(nameof(carJournalFactory));
            this.reportViewOpener       = reportViewOpener ?? throw new ArgumentNullException(nameof(reportViewOpener));
            TabName = "Документ перемещения топлива";

            if (CurrentEmployee == null)
            {
                AbortOpening("К вашему пользователю не привязан сотрудник, невозможно открыть документ");
            }
            ConfigureEntityPropertyChanges();
            CreateCommands();

            FuelBalanceViewModel = new FuelBalanceViewModel(subdivisionRepository, fuelRepository);

            UpdateCashSubdivisions();
            UpdateFuelTypes();
            UpdateBalanceCache();

            if (uoWBuilder.IsNewEntity)
            {
                Entity.CreationTime = DateTime.Now;
                Entity.Author       = CurrentEmployee;
            }

            ConfigureEntries();
        }
        public RouteListJournalViewModel(
            RouteListJournalFilterViewModel filterViewModel,
            IRouteListRepository routeListRepository,
            IFuelRepository fuelRepository,
            ISubdivisionRepository subdivisionRepository,
            ICategoryRepository categoryRepository,
            ITrackRepository trackRepository,
            IUndeliveredOrdersRepository undeliveredOrdersRepository,
            IDeliveryShiftRepository deliveryShiftRepository,
            IUnitOfWorkFactory unitOfWorkFactory,
            IRouteListParametersProvider routeListParametersProvider,
            ICallTaskWorker callTaskWorker,
            IWarehouseRepository warehouseRepository,
            ICarJournalFactory carJournalFactory,
            IEmployeeJournalFactory employeeJournalFactory,
            IEmployeeRepository employeeRepository,
            IGtkTabsOpener gtkTabsOpener,
            IOrderSelectorFactory orderSelectorFactory,
            ICounterpartyJournalFactory counterpartyJournalFactory,
            IDeliveryPointJournalFactory deliveryPointJournalFactory,
            ISubdivisionJournalFactory subdivisionJournalFactory,
            IUndeliveredOrdersJournalOpener undeliveredOrdersJournalOpener,
            IStockRepository stockRepository,
            IReportPrinter reportPrinter,
            ITerminalNomenclatureProvider terminalNomenclatureProvider,
            IEmployeeSettings employeeSettings,
            ICommonServices commonServices)
            : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            _routeListRepository         = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
            _fuelRepository              = fuelRepository ?? throw new ArgumentNullException(nameof(fuelRepository));
            _subdivisionRepository       = subdivisionRepository ?? throw new ArgumentNullException(nameof(subdivisionRepository));
            _categoryRepository          = categoryRepository ?? throw new ArgumentNullException(nameof(categoryRepository));
            _trackRepository             = trackRepository ?? throw new ArgumentNullException(nameof(trackRepository));
            _undeliveredOrdersRepository =
                undeliveredOrdersRepository ?? throw new ArgumentNullException(nameof(undeliveredOrdersRepository));
            _deliveryShiftRepository     = deliveryShiftRepository ?? throw new ArgumentNullException(nameof(deliveryShiftRepository));
            _routeListParametersProvider =
                routeListParametersProvider ?? throw new ArgumentNullException(nameof(routeListParametersProvider));
            _callTaskWorker              = callTaskWorker ?? throw new ArgumentNullException(nameof(callTaskWorker));
            _warehouseRepository         = warehouseRepository ?? throw new ArgumentNullException(nameof(warehouseRepository));
            _carJournalFactory           = carJournalFactory ?? throw new ArgumentNullException(nameof(carJournalFactory));
            _employeeJournalFactory      = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _employeeRepository          = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            _gtkTabsOpener               = gtkTabsOpener ?? throw new ArgumentNullException(nameof(gtkTabsOpener));
            _orderSelectorFactory        = orderSelectorFactory ?? throw new ArgumentNullException(nameof(orderSelectorFactory));
            _counterpartyJournalFactory  = counterpartyJournalFactory ?? throw new ArgumentNullException(nameof(counterpartyJournalFactory));
            _deliveryPointJournalFactory =
                deliveryPointJournalFactory ?? throw new ArgumentNullException(nameof(deliveryPointJournalFactory));
            _subdivisionJournalFactory      = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory));
            _undeliveredOrdersJournalOpener =
                undeliveredOrdersJournalOpener ?? throw new ArgumentNullException(nameof(undeliveredOrdersJournalOpener));
            _stockRepository = stockRepository ?? throw new ArgumentNullException(nameof(stockRepository));
            _reportPrinter   = reportPrinter ?? throw new ArgumentNullException(nameof(reportPrinter));
            _terminalNomenclatureProvider = terminalNomenclatureProvider ?? throw new ArgumentNullException(nameof(terminalNomenclatureProvider));
            _employeeSettings             = employeeSettings ?? throw new ArgumentNullException(nameof(employeeSettings));
            TabName = "Журнал МЛ";

            NotifyConfiguration.Enable();
            NotifyConfiguration.Instance.BatchSubscribeOnEntity <RouteList>(changeEvents => Refresh());

            InitPopupActions();
        }
 public CarEventFilterViewModel(ICarJournalFactory carJournalFactory, ICarEventTypeJournalFactory carEventTypeJournalFactory)
 {
     CarSelectorFactory          = carJournalFactory.CreateCarAutocompleteSelectorFactory();
     CarEventTypeSelectorFactory = carEventTypeJournalFactory.CreateCarEventTypeAutocompleteSelectorFactory();
 }