示例#1
0
        public PaymentsJournalViewModel(
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            INavigationManager navigationManager,
            IPaymentsRepository paymentsRepository,
            IDeleteEntityService deleteEntityService,
            ILifetimeScope scope,
            params Action <PaymentsJournalFilterViewModel>[] filterParams)
            : base(unitOfWorkFactory,
                   commonServices?.InteractiveService,
                   navigationManager,
                   deleteEntityService,
                   commonServices?.CurrentPermissionService)
        {
            _commonServices     = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            _navigationManager  = navigationManager ?? throw new ArgumentNullException(nameof(navigationManager));
            _paymentsRepository = paymentsRepository ?? throw new ArgumentNullException(nameof(paymentsRepository));
            _scope = scope ?? throw new ArgumentNullException(nameof(scope));

            TabName = "Журнал платежей из банк-клиента";

            CreateFilter(filterParams);
            SetPermissions();
            CreateDeleteAction();
            UpdateOnChanges(typeof(PaymentItem), typeof(VodOrder));
        }
示例#2
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];
                    }
                }
            };
        }
        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 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();
        }
 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;
 }
 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
        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;
            }
        }
示例#10
0
 public ExpenseDocItemsEmployeeViewModel(
     ExpenseEmployeeViewModel expenseEmployeeViewModel,
     FeaturesService featuresService,
     INavigationManager navigation,
     SizeService sizeService,
     IDeleteEntityService deleteService,
     BaseParameters baseParameters)
 {
     this.expenseEmployeeViewModel = expenseEmployeeViewModel ?? throw new ArgumentNullException(nameof(expenseEmployeeViewModel));
     this.featuresService          = featuresService ?? throw new ArgumentNullException(nameof(featuresService));
     this.navigation    = navigation ?? throw new ArgumentNullException(nameof(navigation));
     SizeService        = sizeService ?? throw new ArgumentNullException(nameof(sizeService));
     this.deleteService = deleteService ?? throw new ArgumentNullException(nameof(deleteService));
     BaseParameters     = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
     Entity.ObservableItems.ListContentChanged += ExpenceDoc_ObservableItems_ListContentChanged;
     Entity.Items.ToList().ForEach(item => item.PropertyChanged += Item_PropertyChanged);
     Entity.PropertyChanged += EntityOnPropertyChanged;
     Entity.FillCanWriteoffInfo(UoW);
 }
        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));
        }
        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();
        }
示例#13
0
        public CollectiveExpenseItemsViewModel(CollectiveExpenseViewModel сollectiveExpenseViewModel, FeaturesService featuresService, INavigationManager navigation, SizeService sizeService, IDeleteEntityService deleteService, BaseParameters baseParameters, IProgressBarDisplayable globalProgress)
        {
            this.сollectiveExpenseViewModel = сollectiveExpenseViewModel ?? throw new ArgumentNullException(nameof(сollectiveExpenseViewModel));
            this.featuresService            = featuresService ?? throw new ArgumentNullException(nameof(featuresService));
            this.navigation    = navigation ?? throw new ArgumentNullException(nameof(navigation));
            SizeService        = sizeService ?? throw new ArgumentNullException(nameof(sizeService));
            this.deleteService = deleteService ?? throw new ArgumentNullException(nameof(deleteService));
            BaseParameters     = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));

            //Предварительная загрузка элементов для более быстрого открытия документа
            globalProgress.Start(2);
            var query = UoW.Session.QueryOver <CollectiveExpenseItem>()
                        .Where(x => x.Document.Id == Entity.Id)
                        .Fetch(SelectMode.ChildFetch, x => x)
                        .Fetch(SelectMode.Skip, x => x.IssuanceSheetItem)
                        .Fetch(SelectMode.Fetch, x => x.WarehouseOperation)
                        .Future();

            UoW.Session.QueryOver <CollectiveExpenseItem>()
            .Where(x => x.Document.Id == Entity.Id)
            .Fetch(SelectMode.ChildFetch, x => x)
            .Fetch(SelectMode.Skip, x => x.IssuanceSheetItem)
            .Fetch(SelectMode.Fetch, x => x.Employee)
            .Fetch(SelectMode.Fetch, x => x.Employee.WorkwearItems)
            .Future();

            query.ToList();
            globalProgress.Add();

            Entity.PrepareItems(UoW, baseParameters);
            globalProgress.Add();

            Entity.PropertyChanged += Entity_PropertyChanged;
            Entity.ObservableItems.ListContentChanged += ExpenceDoc_ObservableItems_ListContentChanged;
            OnPropertyChanged(nameof(Sum));
            globalProgress.Close();
        }
示例#14
0
 public LeadersJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager, IDeleteEntityService deleteEntityService, ICurrentPermissionService currentPermissionService = null) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
 {
     UseSlider = true;
 }
示例#15
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();
     }
 }
示例#16
0
 public MessageTemplateJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager, IDeleteEntityService deleteEntityService = null, ICurrentPermissionService currentPermissionService = null) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService)
 {
     Title     = "Шаблоны уведомлений";
     UseSlider = true;
 }
 public EmployeeVacationsViewModel(IDeleteEntityService deleteService, ITdiCompatibilityNavigation navigation, EmployeeViewModel employeeViewModel)
 {
     this.deleteService     = deleteService ?? throw new ArgumentNullException(nameof(deleteService));
     this.navigation        = navigation ?? throw new ArgumentNullException(nameof(navigation));
     this.employeeViewModel = employeeViewModel ?? throw new ArgumentNullException(nameof(employeeViewModel));
 }
 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));
 }
示例#19
0
        //private readonly ILogger<HomeController> _logger;

        public HomeController(IDeleteEntityService deleteEntityService
                              /* ILogger<HomeController> logger*/)
        {
            _deleteEntityService = deleteEntityService;
            //_logger = logger;
        }
示例#20
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        = "Условия нормы";
 }