コード例 #1
0
        static PermissionsSettings()
        {
            var defaultPermissionService = new DefaultAllowedPermissionService();

            PermissionService        = defaultPermissionService;
            CurrentPermissionService = defaultPermissionService;
        }
コード例 #2
0
        public UnallocatedBalancesJournalViewModel(
            IUnitOfWorkFactory unitOfWorkFactory,
            IInteractiveService interactiveService,
            IPaymentsRepository paymentsRepository,
            INavigationManager navigationManager,
            ICurrentPermissionService currentPermissionService,
            IDeliveryScheduleParametersProvider deliveryScheduleParametersProvider,
            ILifetimeScope scope,
            IDeleteEntityService deleteEntityService = null,
            params Action <UnallocatedBalancesJournalFilterViewModel>[] filterParams)
            : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
        {
            if (navigationManager == null)
            {
                throw new ArgumentNullException(nameof(navigationManager));
            }
            if (currentPermissionService == null)
            {
                throw new ArgumentNullException(nameof(currentPermissionService));
            }

            _paymentsRepository = paymentsRepository ?? throw new ArgumentNullException(nameof(paymentsRepository));

            _closingDocumentDeliveryScheduleId =
                (deliveryScheduleParametersProvider ?? throw new ArgumentNullException(nameof(deliveryScheduleParametersProvider)))
                .ClosingDocumentDeliveryScheduleId;
            _scope = scope ?? throw new ArgumentNullException(nameof(scope));

            TabName = "Журнал нераспределенных балансов";

            CreateFilter(filterParams);
            CreateAutomaticallyAllocationAction();
        }
コード例 #3
0
        protected EntityJournalViewModelBase(
            IUnitOfWorkFactory unitOfWorkFactory,
            IInteractiveService interactiveService,
            INavigationManager navigationManager,
            IDeleteEntityService deleteEntityService           = null,
            ICurrentPermissionService currentPermissionService = null
            ) : base(unitOfWorkFactory, interactiveService, navigationManager)
        {
            CurrentPermissionService = currentPermissionService;
            DeleteEntityService      = deleteEntityService;

            var dataLoader = new ThreadDataLoader <TNode>(unitOfWorkFactory);

            dataLoader.CurrentPermissionService = currentPermissionService;
            dataLoader.AddQuery <TEntity>(ItemsQuery);
            DataLoader = dataLoader;

            if (currentPermissionService != null && !currentPermissionService.ValidateEntityPermission(typeof(TEntity)).CanRead)
            {
                throw new AbortCreatingPageException($"У вас нет прав для просмотра документов типа: {typeof(TEntity).GetSubjectName()}", "Невозможно открыть журнал");
            }

            CreateNodeActions();

            var names = typeof(TEntity).GetSubjectNames();

            if (!String.IsNullOrEmpty(names?.NominativePlural))
            {
                TabName = names.NominativePlural.StringToTitleCase();
            }

            UpdateOnChanges(typeof(TEntity));
        }
コード例 #4
0
        public EmployeeProcessingJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager,
                                                  IDeleteEntityService deleteEntityService, ILifetimeScope autofacScope,
                                                  NormRepository normRepository, BaseParameters baseParameters, IDataBaseInfo dataBaseInfo,
                                                  ICurrentPermissionService currentPermissionService = null)
            : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
        {
            UseSlider           = false;
            Title               = "Корректировка сотрудников";
            this.interactive    = interactiveService ?? throw new ArgumentNullException(nameof(interactiveService));
            this.normRepository = normRepository ?? throw new ArgumentNullException(nameof(normRepository));
            this.baseParameters = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
            this.dataBaseInfo   = dataBaseInfo ?? throw new ArgumentNullException(nameof(dataBaseInfo));
            AutofacScope        = autofacScope;
            JournalFilter       = Filter = AutofacScope.Resolve <EmployeeFilterViewModel>(new TypedParameter(typeof(JournalViewModelBase), this));

            //Обход проблемы с тем что SelectionMode одновременно управляет и выбором в журнале, и самим режимом журнала.
            //То есть создает действие выбора. Удалить после того как появится рефакторинг действий журнала.
            SelectionMode = JournalSelectionMode.Multiple;
            NodeActionsList.Clear();
            CreateActions();

            (DataLoader as ThreadDataLoader <EmployeeProcessingJournalNode>).PostLoadProcessingFunc = delegate(System.Collections.IList items, uint addedSince) {
                foreach (EmployeeProcessingJournalNode item in items)
                {
                    if (Results.ContainsKey(item.Id))
                    {
                        item.Result = Results[item.Id];
                    }
                }
            };
        }
コード例 #5
0
 public FreeRentPackagesJournalViewModel(
     IUnitOfWorkFactory unitOfWorkFactory,
     IInteractiveService interactiveService,
     INavigationManager navigationManager,
     ICurrentPermissionService currentPermissionService = null,
     IDeleteEntityService deleteEntityService           = null)
     : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
 {
 }
コード例 #6
0
 public DepartmentJournalViewModel(
     IUnitOfWorkFactory unitOfWorkFactory,
     IInteractiveService interactiveService,
     INavigationManager navigationManager,
     int?parentSubdivisionId = null,
     IDeleteEntityService deleteEntityService           = null,
     ICurrentPermissionService currentPermissionService = null
     ) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
 {
     UseSlider           = true;
     ParentSubdivisionId = parentSubdivisionId;
 }
コード例 #7
0
 public SubdivisionJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory,
                                    IInteractiveService interactiveService,
                                    INavigationManager navigationManager,
                                    ILifetimeScope autofacScope,
                                    IDeleteEntityService deleteEntityService           = null,
                                    ICurrentPermissionService currentPermissionService = null
                                    ) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
 {
     AutofacScope  = autofacScope;
     JournalFilter = Filter = AutofacScope.Resolve <SubdivisionFilterViewModel>(
         new TypedParameter(typeof(JournalViewModelBase), this));
 }
コード例 #8
0
 public SizeTypeJournalViewModel(
     IUnitOfWorkFactory unitOfWorkFactory,
     IInteractiveService interactiveService,
     INavigationManager navigationManager,
     ILifetimeScope autofacScope,
     IDeleteEntityService deleteEntityService           = null,
     ICurrentPermissionService currentPermissionService = null
     ) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
 {
     UseSlider     = true;
     JournalFilter = Filter = autofacScope.Resolve <SizeTypeFilterViewModel>(new TypedParameter(typeof(JournalViewModelBase), this));
     OverrideDeleteAction();
 }
コード例 #9
0
ファイル: CommonServices.cs プロジェクト: Iamposox/QSProjects
 public CommonServices(
     IValidator validationService,
     IInteractiveService interactiveService,
     IPermissionService permissionService,
     ICurrentPermissionService currentPermissionService,
     IUserService userService
     )
 {
     ValidationService        = validationService ?? throw new ArgumentNullException(nameof(validationService));
     InteractiveService       = interactiveService ?? throw new ArgumentNullException(nameof(interactiveService));
     PermissionService        = permissionService ?? throw new ArgumentNullException(nameof(permissionService));
     CurrentPermissionService = currentPermissionService ?? throw new ArgumentNullException(nameof(currentPermissionService));
     UserService = userService ?? throw new ArgumentNullException(nameof(userService));
 }
コード例 #10
0
        public StockDocumentsJournalViewModel(
            IUnitOfWorkFactory unitOfWorkFactory,
            IInteractiveService interactiveService,
            INavigationManager navigation,
            OpenStockDocumentsModel openStockDocumentsModel,
            ILifetimeScope autofacScope,
            FeaturesService featuresService,
            ICurrentPermissionService currentPermissionService = null,
            IDeleteEntityService deleteEntityService           = null)
            : base(unitOfWorkFactory, interactiveService, navigation)
        {
            Title                        = "Журнал документов";
            AutofacScope                 = autofacScope;
            CurrentPermissionService     = currentPermissionService;
            DeleteEntityService          = deleteEntityService;
            this.openStockDocumentsModel = openStockDocumentsModel ?? throw new ArgumentNullException(nameof(openStockDocumentsModel));
            FeaturesService              = featuresService ?? throw new ArgumentNullException(nameof(featuresService));
            JournalFilter                = Filter = AutofacScope.Resolve <StockDocumentsFilterViewModel>(
                new TypedParameter(typeof(JournalViewModelBase), this));

            var dataLoader = new ThreadDataLoader <StockDocumentsJournalNode>(unitOfWorkFactory);

            dataLoader.AddQuery(QueryIncomeDoc);
            dataLoader.AddQuery(QueryExpenseDoc);
            dataLoader.AddQuery(QueryCollectiveExpenseDoc);
            dataLoader.AddQuery(QueryWriteoffDoc);
            dataLoader.AddQuery(QueryTransferDoc);
            dataLoader.AddQuery(QueryCompletionDoc);
            dataLoader.MergeInOrderBy(x => x.Date, true);
            dataLoader.MergeInOrderBy(x => x.CreationDate, true);
            DataLoader = dataLoader;

            CreateNodeActions();
            CreateDocumentsActions();

            UpdateOnChanges(typeof(Expense), typeof(CollectiveExpense),
                            typeof(Income), typeof(Writeoff), typeof(Transfer), typeof(Completion));
        }
コード例 #11
0
        public EmployeeNotificationJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager,
                                                    IDeleteEntityService deleteEntityService, ILifetimeScope autofacScope, NotificationManagerService notificationManager,
                                                    NormRepository normRepository, BaseParameters baseParameters, IDataBaseInfo dataBaseInfo,
                                                    ICurrentPermissionService currentPermissionService = null)
            : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
        {
            UseSlider                = false;
            Title                    = "Уведомление сотрудников";
            this.interactive         = interactiveService ?? throw new ArgumentNullException(nameof(interactiveService));
            this.notificationManager = notificationManager ?? throw new ArgumentNullException(nameof(notificationManager));
            this.baseParameters      = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
            this.dataBaseInfo        = dataBaseInfo ?? throw new ArgumentNullException(nameof(dataBaseInfo));
            AutofacScope             = autofacScope;
            JournalFilter            = Filter = AutofacScope.Resolve <EmployeeNotificationFilterViewModel>(new TypedParameter(typeof(JournalViewModelBase), this));

            (DataLoader as ThreadDataLoader <EmployeeNotificationJournalNode>).PostLoadProcessingFunc = HandlePostLoadProcessing;

            //Обход проблемы с тем что SelectionMode одновременно управляет и выбором в журнале, и самим режимом журнала.
            //То есть создает действие выбора. Удалить после того как появится рефакторинг действий журнала.
            SelectionMode = JournalSelectionMode.Multiple;
            NodeActionsList.Clear();
            CreateActions();
        }
コード例 #12
0
 public MessageTemplateJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager, IDeleteEntityService deleteEntityService = null, ICurrentPermissionService currentPermissionService = null) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
 {
     Title     = "Шаблоны уведомлений";
     UseSlider = true;
 }
コード例 #13
0
 public NormConditionJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager, ILifetimeScope autofacScope, IDeleteEntityService deleteEntityService = null, ICurrentPermissionService currentPermissionService = null) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
 {
     UseSlider    = true;
     AutofacScope = autofacScope;
     Title        = "Условия нормы";
 }
コード例 #14
0
 public ItemsTypeJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager, FeaturesService featuresService, IDeleteEntityService deleteEntityService = null, ICurrentPermissionService currentPermissionService = null) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
 {
     UseSlider       = true;
     FeaturesService = featuresService ?? throw new System.ArgumentNullException(nameof(featuresService));
 }
コード例 #15
0
 public LeadersJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager, IDeleteEntityService deleteEntityService, ICurrentPermissionService currentPermissionService = null) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
 {
     UseSlider = true;
 }
コード例 #16
0
        public EmployeeJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager,
                                        IDeleteEntityService deleteEntityService, ILifetimeScope autofacScope, FeaturesService featuresService, ICurrentPermissionService currentPermissionService = null,
                                        //Ограничения журнала
                                        Norm norm = null)
            : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
        {
            UseSlider = false;

            AutofacScope         = autofacScope;
            JournalFilter        = Filter = AutofacScope.Resolve <EmployeeFilterViewModel>(new TypedParameter(typeof(JournalViewModelBase), this));
            this.FeaturesService = featuresService ?? throw new ArgumentNullException(nameof(featuresService));
            this.norm            = norm;

            if (norm != null)
            {
                norm  = UoW.GetById <Norm>(norm.Id);               //Загружаем из своей сессии.
                Title = "Использующие норму: " + norm.Title;
            }
        }
コード例 #17
0
 public NormJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager, ILifetimeScope autofacScope, IDeleteEntityService deleteEntityService = null, ICurrentPermissionService currentPermissionService = null, bool useMultiSelect = false) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
 {
     UseSlider     = true;
     AutofacScope  = autofacScope;
     JournalFilter = Filter = AutofacScope.Resolve <NormFilterViewModel>(new TypedParameter(typeof(JournalViewModelBase), this));
     CreatePopupActions();
     if (useMultiSelect)
     {
         UseMultiSelect();
     }
 }