public IncomeCategoryAutoCompleteSelectorFactory(
     ICommonServices commonServices,
     IncomeCategoryJournalFilterViewModel 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 IncomeCategorySelectorFactory(
     ICommonServices commonServices,
     IncomeCategoryJournalFilterViewModel 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 IEntityAutocompleteSelectorFactory CreateDefaultIncomeCategoryAutocompleteSelectorFactory()
        {
            var incomeCategoryFilter = new IncomeCategoryJournalFilterViewModel();
            var commonServices       = ServicesConfig.CommonServices;
            IFileChooserProvider chooserIncomeProvider = new FileChooser();
            var employeeJournalFactory    = new EmployeeJournalFactory();
            var subdivisionJournalFactory = new SubdivisionJournalFactory();
            var incomeFactory             = new IncomeCategorySelectorFactory();

            return(new IncomeCategoryAutoCompleteSelectorFactory(
                       commonServices,
                       incomeCategoryFilter,
                       chooserIncomeProvider,
                       employeeJournalFactory,
                       subdivisionJournalFactory,
                       incomeFactory));
        }
Ejemplo n.º 6
0
        public IncomeCategoryViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IFileChooserProvider fileChooserProvider,
            IncomeCategoryJournalFilterViewModel journalFilterViewModel
            ) : base(uowBuilder, unitOfWorkFactory, commonServices)
        {
            IncomeCategoryAutocompleteSelectorFactory =
                new IncomeCategoryAutoCompleteSelectorFactory(commonServices, journalFilterViewModel, fileChooserProvider);

            if (uowBuilder.IsNewEntity)
            {
                TabName = "Создание новой категории дохода";
            }
            else
            {
                TabName = $"{Entity.Title}";
            }
        }
Ejemplo n.º 7
0
        public IncomeCategoryViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IFileChooserProvider fileChooserProvider,
            IncomeCategoryJournalFilterViewModel 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));
            }

            IncomeCategoryAutocompleteSelectorFactory =
                new IncomeCategoryAutoCompleteSelectorFactory(
                    commonServices, journalFilterViewModel, fileChooserProvider, employeeJournalFactory, subdivisionJournalFactory);

            SubdivisionAutocompleteSelectorFactory =
                subdivisionJournalFactory.CreateDefaultSubdivisionAutocompleteSelectorFactory(
                    employeeJournalFactory.CreateEmployeeAutocompleteSelectorFactory());

            if (uowBuilder.IsNewEntity)
            {
                TabName = "Создание новой категории дохода";
            }
            else
            {
                TabName = $"{Entity.Title}";
            }
        }
Ejemplo n.º 8
0
        private void ConfigureEntityViewModelEntry()
        {
            var incomeCategoryFilter  = new IncomeCategoryJournalFilterViewModel();
            var expenseCategoryFilter = new ExpenseCategoryJournalFilterViewModel {
                ExcludedIds    = new CategoryRepository(new ParametersProvider()).ExpenseSelfDeliveryCategories(UoW).Select(x => x.Id),
                HidenByDefault = true
            };

            var commonServices = ServicesConfig.CommonServices;
            IFileChooserProvider chooserIncomeProvider  = new FileChooser("Приход " + DateTime.Now + ".csv");
            IFileChooserProvider chooserExpenseProvider = new FileChooser("Расход " + DateTime.Now + ".csv");
            var employeeJournalFactory    = new EmployeeJournalFactory();
            var subdivisionJournalFactory = new SubdivisionJournalFactory();

            var incomeCategoryAutocompleteSelectorFactory =
                new SimpleEntitySelectorFactory <IncomeCategory, IncomeCategoryViewModel>(
                    () =>
            {
                var incomeCategoryJournalViewModel =
                    new SimpleEntityJournalViewModel <IncomeCategory, IncomeCategoryViewModel>(
                        x => x.Name,
                        () => new IncomeCategoryViewModel(
                            EntityUoWBuilder.ForCreate(),
                            UnitOfWorkFactory.GetDefaultFactory,
                            commonServices,
                            chooserIncomeProvider,
                            incomeCategoryFilter,
                            employeeJournalFactory,
                            subdivisionJournalFactory
                            ),
                        node => new IncomeCategoryViewModel(
                            EntityUoWBuilder.ForOpen(node.Id),
                            UnitOfWorkFactory.GetDefaultFactory,
                            commonServices,
                            chooserIncomeProvider,
                            incomeCategoryFilter,
                            employeeJournalFactory,
                            subdivisionJournalFactory
                            ),
                        UnitOfWorkFactory.GetDefaultFactory,
                        commonServices
                        )
                {
                    SelectionMode = JournalSelectionMode.Single
                };
                return(incomeCategoryJournalViewModel);
            });


            var expenseCategoryAutocompleteSelectorFactory =
                new SimpleEntitySelectorFactory <ExpenseCategory, ExpenseCategoryViewModel>(
                    () =>
            {
                var expenseCategoryJournalViewModel =
                    new SimpleEntityJournalViewModel <ExpenseCategory, ExpenseCategoryViewModel>(
                        x => x.Name,
                        () => new ExpenseCategoryViewModel(
                            EntityUoWBuilder.ForCreate(),
                            UnitOfWorkFactory.GetDefaultFactory,
                            ServicesConfig.CommonServices,
                            chooserExpenseProvider,
                            expenseCategoryFilter,
                            employeeJournalFactory,
                            subdivisionJournalFactory
                            ),
                        node => new ExpenseCategoryViewModel(
                            EntityUoWBuilder.ForOpen(node.Id),
                            UnitOfWorkFactory.GetDefaultFactory,
                            ServicesConfig.CommonServices,
                            chooserExpenseProvider,
                            expenseCategoryFilter,
                            employeeJournalFactory,
                            subdivisionJournalFactory
                            ),
                        UnitOfWorkFactory.GetDefaultFactory,
                        ServicesConfig.CommonServices
                        )
                {
                    SelectionMode = JournalSelectionMode.Single
                };
                expenseCategoryJournalViewModel.SetFilter(expenseCategoryFilter,
                                                          filter => Restrictions.Not(Restrictions.In("Id", filter.ExcludedIds.ToArray())));

                return(expenseCategoryJournalViewModel);
            });

            entityVMEntryCashIncomeCategory.SetEntityAutocompleteSelectorFactory(incomeCategoryAutocompleteSelectorFactory);
            entityVMEntryCashExpenseCategory.SetEntityAutocompleteSelectorFactory(expenseCategoryAutocompleteSelectorFactory);
        }