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)); }
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)); }
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) { }
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)); }
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(); }
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; } }
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(); }
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(); }
public LeadersJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager, IDeleteEntityService deleteEntityService, ICurrentPermissionService currentPermissionService = null) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService) { UseSlider = true; }
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(); } }
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)); }
//private readonly ILogger<HomeController> _logger; public HomeController(IDeleteEntityService deleteEntityService /* ILogger<HomeController> logger*/) { _deleteEntityService = deleteEntityService; //_logger = logger; }
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 = "Условия нормы"; }