Пример #1
0
        public PremiumJournalViewModel(PremiumJournalFilterViewModel filterViewModel, IUnitOfWorkFactory unitOfWorkFactory,
                                       ICommonServices commonServices, IEmployeeService employeeService,
                                       IEmployeeJournalFactory employeeJournalFactory, IPremiumTemplateJournalFactory premiumTemplateJournalFactory)
            : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            _commonServices                = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            _employeeService               = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            _employeeJournalFactory        = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _premiumTemplateJournalFactory = premiumTemplateJournalFactory
                                             ?? throw new ArgumentNullException(nameof(premiumTemplateJournalFactory));

            TabName = "Журнал премий";

            RegisterPremiums();
            RegisterPremiumsRaskatGAZelle();

            var threadLoader = DataLoader as ThreadDataLoader <PremiumJournalNode>;

            threadLoader.MergeInOrderBy(x => x.Id, true);

            FinishJournalConfiguration();

            UpdateOnChanges(
                typeof(Premium),
                typeof(PremiumRaskatGAZelle),
                typeof(PremiumItem)
                );
        }
Пример #2
0
        public PremiumViewModel(IEntityUoWBuilder uowBuilder, IUnitOfWorkFactory uowFactory, ICommonServices commonServices,
                                IEmployeeService employeeService, IEmployeeJournalFactory employeeJournalFactory, IPremiumTemplateJournalFactory premiumTemplateJournalFactory)
            : base(uowBuilder, uowFactory, commonServices)
        {
            _employeeService = employeeService ?? throw new ArgumentNullException(nameof(employeeService));

            TabName = Entity.Title;

            CanEdit = (Entity.Id == 0 && PermissionResult.CanCreate) || (Entity.Id != 0 && PermissionResult.CanUpdate);
            Entity.ObservableItems.ListContentChanged += OnObservableItemsListContentChanged;
            EmployeeAutocompleteSelectorFactory        = employeeJournalFactory.CreateEmployeeAutocompleteSelectorFactory();
            PremiumTemplateAutocompleteSelectorFactory = premiumTemplateJournalFactory.CreatePremiumTemplateAutocompleteSelectorFactory();
        }
        public PremiumViewModel(IEntityUoWBuilder uowBuilder, IUnitOfWorkFactory uowFactory, ICommonServices commonServices,
                                IEmployeeService employeeService, IEmployeeJournalFactory employeeJournalFactory, IPremiumTemplateJournalFactory premiumTemplateJournalFactory)
            : base(uowBuilder, uowFactory, commonServices)
        {
            TabName = Entity.Title;

            if (UoW.IsNew)
            {
                Entity.Author = employeeService.GetEmployeeForUser(UoW, CurrentUser.Id);
                if (Entity.Author == null)
                {
                    AbortOpening("Ваш пользователь не привязан к действующему сотруднику. Невозможно создать премию"
                                 + ", т.к. некого указать в качестве автора");
                }
            }

            CanEdit = (Entity.Id == 0 && PermissionResult.CanCreate) || (Entity.Id != 0 && PermissionResult.CanUpdate);
            Entity.ObservableItems.ListContentChanged += OnObservableItemsListContentChanged;
            EmployeeAutocompleteSelectorFactory        = employeeJournalFactory.CreateEmployeeAutocompleteSelectorFactory();
            PremiumTemplateAutocompleteSelectorFactory = premiumTemplateJournalFactory.CreatePremiumTemplateAutocompleteSelectorFactory();
        }