public EmployeeJournalFactory(
            EmployeeFilterViewModel employeeJournalFilter = null)
        {
            var cs = new ConfigurationSection(new ConfigurationRoot(new List <IConfigurationProvider> {
                new MemoryConfigurationProvider(new MemoryConfigurationSource())
            }), "");

            cs["BaseUri"] = "https://driverapi.vod.qsolution.ru:7090/api/";

            var apiHelper = new ApiClientProvider.ApiClientProvider(cs);

            var driverApiRegisterEndpoint = new DriverApiUserRegisterEndpoint(apiHelper);

            _driverApiUserRegisterEndpoint = driverApiRegisterEndpoint;
            _employeeJournalFilter         = employeeJournalFilter;

            _authorizationServiceFactory   = new AuthorizationServiceFactory();
            _employeeWageParametersFactory = new EmployeeWageParametersFactory();
            _employeeJournalFactory        = this;
            _subdivisionJournalFactory     = new SubdivisionJournalFactory();
            _employeePostsJournalFactory   = new EmployeePostsJournalFactory();
            _validationContextFactory      = new ValidationContextFactory();
            _phonesViewModelFactory        = new PhonesViewModelFactory(new PhoneRepository());
            _attachmentsViewModelFactory   = new AttachmentsViewModelFactory();
        }
Exemple #2
0
        public BulkEmailViewModel(INavigationManager navigation, IUnitOfWorkFactory unitOfWorkFactory,
                                  Func <IUnitOfWork, IQueryOver <Order> > itemsSourceQueryFunction, IEmailParametersProvider emailParametersProvider,
                                  ICommonServices commonServices, IAttachmentsViewModelFactory attachmentsViewModelFactory, Employee author, IEmailRepository emailRepository) : base(navigation)
        {
            _uow = (unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory))).CreateWithoutRoot();
            _emailParametersProvider = emailParametersProvider ?? throw new ArgumentNullException(nameof(emailParametersProvider));
            _commonServices          = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            _author          = author ?? throw new ArgumentNullException(nameof(author));
            _emailRepository = emailRepository ?? throw new ArgumentNullException(nameof(emailRepository));
            _instanceId      = emailRepository.GetCurrentDatabaseId(_uow);

            _configuration = _uow.GetAll <InstanceMailingConfiguration>().FirstOrDefault();

            AttachmentsEmailViewModel = attachmentsViewModelFactory.CreateNewAttachmentsViewModel(ObservableAttachments);

            ObservableAttachments.ListContentChanged += ObservableAttachments_ListContentChanged;

            var itemsSourceQuery = itemsSourceQueryFunction.Invoke(_uow);

            _debtorJournalNodes = itemsSourceQuery.List <DebtorJournalNode>();

            MailSubject = string.Empty;

            Init();
        }
Exemple #3
0
        public EmployeesJournalViewModel(
            EmployeeFilterViewModel filterViewModel,
            IAuthorizationServiceFactory authorizationServiceFactory,
            IEmployeeWageParametersFactory employeeWageParametersFactory,
            IEmployeeJournalFactory employeeJournalFactory,
            ISubdivisionJournalFactory subdivisionJournalFactory,
            IEmployeePostsJournalFactory employeePostsJournalFactory,
            ICashDistributionCommonOrganisationProvider cashDistributionCommonOrganisationProvider,
            ISubdivisionParametersProvider subdivisionParametersProvider,
            IWageCalculationRepository wageCalculationRepository,
            IEmployeeRepository employeeRepository,
            IWarehouseRepository warehouseRepository,
            IRouteListRepository routeListRepository,
            UserSettings userSettings,
            IValidationContextFactory validationContextFactory,
            IPhonesViewModelFactory phonesViewModelFactory,
            DriverApiUserRegisterEndpoint driverApiUserRegisterEndpoint,
            ICommonServices commonServices,
            IUnitOfWorkFactory unitOfWorkFactory,
            IAttachmentsViewModelFactory attachmentsViewModelFactory) : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            TabName = "Журнал сотрудников";

            _authorizationServiceFactory =
                authorizationServiceFactory ?? throw new ArgumentNullException(nameof(authorizationServiceFactory));
            _authorizationService          = _authorizationServiceFactory.CreateNewAuthorizationService();
            _employeeWageParametersFactory =
                employeeWageParametersFactory ?? throw new ArgumentNullException(nameof(employeeWageParametersFactory));
            _employeeJournalFactory      = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            _subdivisionJournalFactory   = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory));
            _employeePostsJournalFactory =
                employeePostsJournalFactory ?? throw new ArgumentNullException(nameof(employeePostsJournalFactory));
            _cashDistributionCommonOrganisationProvider =
                cashDistributionCommonOrganisationProvider ??
                throw new ArgumentNullException(nameof(cashDistributionCommonOrganisationProvider));
            _subdivisionParametersProvider = subdivisionParametersProvider ?? throw new ArgumentNullException(nameof(subdivisionParametersProvider));
            _wageCalculationRepository     = wageCalculationRepository ?? throw new ArgumentNullException(nameof(wageCalculationRepository));
            _employeeRepository            = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            _validationContextFactory      = validationContextFactory ?? throw new ArgumentNullException(nameof(validationContextFactory));
            _phonesViewModelFactory        = phonesViewModelFactory ?? throw new ArgumentNullException(nameof(phonesViewModelFactory));
            _driverApiUserRegisterEndpoint = driverApiUserRegisterEndpoint ?? throw new ArgumentNullException(nameof(driverApiUserRegisterEndpoint));
            _attachmentsViewModelFactory   = attachmentsViewModelFactory ?? throw new ArgumentNullException(nameof(attachmentsViewModelFactory));
            _warehouseRepository           = warehouseRepository ?? throw new ArgumentNullException(nameof(warehouseRepository));
            _routeListRepository           = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
            _userSettings = userSettings ?? throw new ArgumentNullException(nameof(userSettings));

            UpdateOnChanges(typeof(Employee));
        }
Exemple #4
0
        public CarViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IEmployeeJournalFactory employeeJournalFactory,
            IAttachmentsViewModelFactory attachmentsViewModelFactory,
            ICarModelJournalFactory carModelJournalFactory,
            ICarVersionsViewModelFactory carVersionsViewModelFactory,
            IRouteListsWageController routeListsWageController,
            IGeographicGroupParametersProvider geographicGroupParametersProvider,
            INavigationManager navigationManager)
            : base(uowBuilder, unitOfWorkFactory, commonServices, navigationManager)
        {
            if (navigationManager == null)
            {
                throw new ArgumentNullException(nameof(navigationManager));
            }
            _routeListsWageController = routeListsWageController ?? throw new ArgumentNullException(nameof(routeListsWageController));
            CarModelJournalFactory    = carModelJournalFactory ?? throw new ArgumentNullException(nameof(carModelJournalFactory));

            TabName = "Автомобиль";

            EmployeeJournalFactory = employeeJournalFactory;
            AttachmentsViewModel   = attachmentsViewModelFactory.CreateNewAttachmentsViewModel(Entity.ObservableAttachments);
            CarVersionsViewModel   = carVersionsViewModelFactory?.CreateCarVersionsViewModel(Entity)
                                     ?? throw new ArgumentNullException(nameof(carVersionsViewModelFactory));

            CanChangeBottlesFromAddress = commonServices.PermissionService.ValidateUserPresetPermission(
                _canChangeBottlesFromAddressPermissionName,
                commonServices.UserService.CurrentUserId
                );
            EastGeographicGroupId =
                (geographicGroupParametersProvider ?? throw new ArgumentNullException(nameof(geographicGroupParametersProvider)))
                .EastGeographicGroupId;

            CanEditCarModel       = commonServices.CurrentPermissionService.ValidateEntityPermission(typeof(CarModel)).CanUpdate;
            CanChangeCarModel     = Entity.Id == 0 || commonServices.CurrentPermissionService.ValidatePresetPermission("can_change_car_model");
            CanEditFuelCardNumber = commonServices.CurrentPermissionService.ValidatePresetPermission("can_change_fuel_card_number");

            Entity.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == nameof(Entity.Driver) && Entity.Driver != null)
                {
                    OnDriverChanged();
                }
            };
            OnDriverChanged();
        }
Exemple #5
0
 public DebtorsJournalViewModel(DebtorsJournalFilterViewModel filterViewModel, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices,
                                IEmployeeRepository employeeRepository, IGtkTabsOpener gtkTabsOpener, IDebtorsParameters debtorsParameters, IEmailParametersProvider emailParametersProvider,
                                IAttachmentsViewModelFactory attachmentsViewModelFactory, IEmailRepository emailRepository) : base(filterViewModel, unitOfWorkFactory, commonServices)
 {
     _emailParametersProvider     = emailParametersProvider ?? throw new ArgumentNullException(nameof(emailParametersProvider));
     _attachmentsViewModelFactory = attachmentsViewModelFactory ?? throw new ArgumentNullException(nameof(attachmentsViewModelFactory));
     _emailRepository             = emailRepository ?? throw new ArgumentNullException(nameof(emailRepository));
     TabName                      = "Журнал задолженности";
     SelectionMode                = JournalSelectionMode.Multiple;
     this.employeeRepository      = employeeRepository;
     DataLoader.ItemsListUpdated += UpdateFooterInfo;
     _debtorsParameters           = debtorsParameters;
     _gtkTabsOpener               = gtkTabsOpener;
     _currentEmployee             = employeeRepository.GetEmployeeForCurrentUser(UoW);
     _canSendBulkEmails           = commonServices.CurrentPermissionService.ValidatePresetPermission("can_send_bulk_emails");
 }
        public EmployeeViewModel(
            IAuthorizationService authorizationService,
            IEmployeeWageParametersFactory employeeWageParametersFactory,
            IEmployeeJournalFactory employeeJournalFactory,
            ISubdivisionJournalFactory subdivisionJournalFactory,
            IEmployeePostsJournalFactory employeePostsJournalFactory,
            ICashDistributionCommonOrganisationProvider commonOrganisationProvider,
            ISubdivisionParametersProvider subdivisionParametersProvider,
            IWageCalculationRepository wageCalculationRepository,
            IEmployeeRepository employeeRepository,
            IUnitOfWorkGeneric <Employee> uowGeneric,
            ICommonServices commonServices,
            IValidationContextFactory validationContextFactory,
            IPhonesViewModelFactory phonesViewModelFactory,
            IWarehouseRepository warehouseRepository,
            IRouteListRepository routeListRepository,
            DriverApiUserRegisterEndpoint driverApiUserRegisterEndpoint,
            UserSettings userSettings,
            IUserRepository userRepository,
            BaseParametersProvider baseParametersProvider,
            IAttachmentsViewModelFactory attachmentsViewModelFactory,
            bool traineeToEmployee = false,
            INavigationManager navigationManager = null
            ) : base(commonServices?.InteractiveService, navigationManager)
        {
            _authorizationService         = authorizationService ?? throw new ArgumentNullException(nameof(authorizationService));
            EmployeeWageParametersFactory =
                employeeWageParametersFactory ?? throw new ArgumentNullException(nameof(employeeWageParametersFactory));
            EmployeeJournalFactory         = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
            EmployeePostsJournalFactory    = employeePostsJournalFactory ?? throw new ArgumentNullException(nameof(employeePostsJournalFactory));
            SubdivisionJournalFactory      = subdivisionJournalFactory ?? throw new ArgumentNullException(nameof(subdivisionJournalFactory));
            _subdivisionParametersProvider = subdivisionParametersProvider ?? throw new ArgumentNullException(nameof(subdivisionParametersProvider));
            _wageCalculationRepository     = wageCalculationRepository ?? throw new ArgumentNullException(nameof(wageCalculationRepository));
            _employeeRepository            = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            _warehouseRepository           = warehouseRepository ?? throw new ArgumentNullException(nameof(warehouseRepository));
            _routeListRepository           = routeListRepository ?? throw new ArgumentNullException(nameof(routeListRepository));
            _driverApiUserRegisterEndpoint = driverApiUserRegisterEndpoint ?? throw new ArgumentNullException(nameof(driverApiUserRegisterEndpoint));
            _userSettings           = userSettings ?? throw new ArgumentNullException(nameof(userSettings));
            UoWGeneric              = uowGeneric ?? throw new ArgumentNullException(nameof(uowGeneric));
            _commonServices         = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
            _userRepository         = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            _baseParametersProvider = baseParametersProvider ?? throw new ArgumentNullException(nameof(baseParametersProvider));

            if (commonOrganisationProvider == null)
            {
                throw new ArgumentNullException(nameof(commonOrganisationProvider));
            }

            if (validationContextFactory == null)
            {
                throw new ArgumentNullException(nameof(validationContextFactory));
            }

            if (phonesViewModelFactory == null)
            {
                throw new ArgumentNullException(nameof(phonesViewModelFactory));
            }

            ConfigureValidationContext(validationContextFactory);

            PhonesViewModel = phonesViewModelFactory.CreateNewPhonesViewModel(UoW);

            if (Entity.Id == 0)
            {
                Entity.OrganisationForSalary = commonOrganisationProvider.GetCommonOrganisation(UoW);
                FillHiddenCategories(traineeToEmployee);

                TabName = "Новый сотрудник";
            }
            else
            {
                TabName = Entity.GetPersonNameWithInitials();
            }

            AttachmentsViewModel = (attachmentsViewModelFactory ?? throw new ArgumentNullException(nameof(attachmentsViewModelFactory)))
                                   .CreateNewAttachmentsViewModel(Entity.ObservableAttachments);

            if (Entity.Phones == null)
            {
                Entity.Phones = new List <Phone>();
            }

            Entity.PropertyChanged += OnEntityPropertyChanged;

            organizations = UoW.GetAll <Organization>().ToList();

            CanRegisterMobileUser = string.IsNullOrWhiteSpace(Entity.AndroidLogin) && string.IsNullOrWhiteSpace(Entity.AndroidPassword);

            _employeePermissionSet = _commonServices.CurrentPermissionService.ValidateEntityPermission(typeof(Employee));

            if (!_employeePermissionSet.CanRead)
            {
                AbortOpening(PermissionsSettings.GetEntityReadValidateResult(typeof(Employee)));
            }

            SetPermissions();
        }