Ejemplo n.º 1
0
        public DataParserNorm(
            NormRepository normRepository,
            ProtectionToolsRepository protectionToolsRepository,
            SizeService sizeService)
        {
            AddColumnName(DataTypeNorm.ProtectionTools,
                          "номенклатура"
                          );
            AddColumnName(DataTypeNorm.PeriodAndCount,
                          "Норма выдачи"
                          );
            AddColumnName(DataTypeNorm.Subdivision,
                          "Подразделение"
                          );
            AddColumnName(DataTypeNorm.Post,
                          "Должность",
                          "Должности",
                          "профессия",
                          "профессии"
                          );

            this.normRepository            = normRepository ?? throw new ArgumentNullException(nameof(normRepository));
            this.protectionToolsRepository = protectionToolsRepository ?? throw new ArgumentNullException(nameof(protectionToolsRepository));
            this.sizeService = sizeService;
        }
Ejemplo n.º 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];
                    }
                }
            };
        }
Ejemplo n.º 3
0
        public DataParserWorkwearItems(
            NomenclatureRepository nomenclatureRepository,
            PostRepository postRepository,
            NormRepository normRepository,
            SizeService sizeService)
        {
            AddColumnName(DataTypeWorkwearItems.PersonnelNumber,
                          "Табельный номер"
                          );
            AddColumnName(DataTypeWorkwearItems.ProtectionTools,
                          "Номенклатура нормы"
                          );
            AddColumnName(DataTypeWorkwearItems.Nomenclature,
                          "Номенклатура"
                          );
            AddColumnName(DataTypeWorkwearItems.Subdivision,
                          "Подразделение"
                          );
            AddColumnName(DataTypeWorkwearItems.Post,
                          "Должность"
                          );
            AddColumnName(DataTypeWorkwearItems.Size,
                          "Размер",
                          "Значение антропометрии"       //ОСМиБТ
                          );
            AddColumnName(DataTypeWorkwearItems.Growth,
                          "Рост"
                          );
            AddColumnName(DataTypeWorkwearItems.SizeAndGrowth,
                          "Характеристика"
                          );
            AddColumnName(DataTypeWorkwearItems.IssueDate,
                          "Дата выдачи"
                          );
            AddColumnName(DataTypeWorkwearItems.Count,
                          "Количество",
                          "Кол-во"
                          );

            this.nomenclatureRepository = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
            this.postRepository         = postRepository ?? throw new ArgumentNullException(nameof(postRepository));
            this.normRepository         = normRepository ?? throw new ArgumentNullException(nameof(normRepository));
            this.sizeService            = sizeService ?? throw new ArgumentNullException(nameof(sizeService));
        }
        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();
        }
 //temp method for tests only
 public DataConnector(string test)
 {
     _normRepo = new NormRepository("dsf");
 }
 public DataConnector()
 {
     _normRepo = new NormRepository();
 }
Ejemplo n.º 7
0
        public EmployeeViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            INavigationManager navigation,
            IValidator validator,
            IUserService userService,
            ILifetimeScope autofacScope,
            PersonNames personNames,
            IInteractiveService interactive,
            FeaturesService featuresService,
            EmployeeRepository employeeRepository,
            NormRepository normRepository,
            LkUserManagerService lkUserManagerService,
            BaseParameters baseParameters,
            SizeService sizeService,
            CommonMessages messages) : base(uowBuilder, unitOfWorkFactory, navigation, validator)
        {
            AutofacScope              = autofacScope ?? throw new ArgumentNullException(nameof(autofacScope));
            this.personNames          = personNames ?? throw new ArgumentNullException(nameof(personNames));
            this.interactive          = interactive ?? throw new ArgumentNullException(nameof(interactive));
            this.featuresService      = featuresService ?? throw new ArgumentNullException(nameof(featuresService));
            this.employeeRepository   = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            NormRepository            = normRepository ?? throw new ArgumentNullException(nameof(normRepository));
            this.lkUserManagerService = lkUserManagerService ?? throw new ArgumentNullException(nameof(lkUserManagerService));
            this.baseParameters       = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
            this.messages             = messages ?? throw new ArgumentNullException(nameof(messages));
            var builder = new CommonEEVMBuilderFactory <EmployeeCard>(this, Entity, UoW, NavigationManager, AutofacScope);

            SizeService = sizeService;

            EntryLeaderViewModel = builder.ForProperty(x => x.Leader)
                                   .UseViewModelJournalAndAutocompleter <LeadersJournalViewModel>()
                                   .UseViewModelDialog <LeadersViewModel>()
                                   .Finish();

            EntrySubdivisionViewModel = builder.ForProperty(x => x.Subdivision)
                                        .UseViewModelJournalAndAutocompleter <SubdivisionJournalViewModel>()
                                        .UseViewModelDialog <SubdivisionViewModel>()
                                        .Finish();

            EntryDepartmentViewModel = builder.ForProperty(x => x.Department)
                                       .UseViewModelDialog <DepartmentViewModel>()
                                       .Finish();

            EntryDepartmentViewModel.EntitySelector = new DepartmentJournalViewModelSelector(
                this, NavigationManager, EntrySubdivisionViewModel);

            EntryPostViewModel = builder.ForProperty(x => x.Post)
                                 .UseViewModelJournalAndAutocompleter <PostJournalViewModel>()
                                 .UseViewModelDialog <PostViewModel>()
                                 .Finish();

            Entity.PropertyChanged += Entity_PropertyChanged;
            Entity.PropertyChanged += PostChangedCheck;

            if (UoW.IsNew)
            {
                Entity.CreatedbyUser = userService.GetCurrentUser(UoW);
                logger.Info("Создание карточки для нового сотрудника");
            }
            else
            {
                AutoCardNumber = String.IsNullOrWhiteSpace(Entity.CardNumber);
            }

            lastSubdivision = Entity.Subdivision;
            lastPost        = Entity.Post;

            //Создаем вкладки
            var parameter = new TypedParameter(typeof(EmployeeViewModel), this);

            NormsViewModel       = AutofacScope.Resolve <EmployeeNormsViewModel>(parameter);
            WearItemsViewModel   = AutofacScope.Resolve <EmployeeWearItemsViewModel>(parameter);
            ListedItemsViewModel = AutofacScope.Resolve <EmployeeListedItemsViewModel>(parameter);
            MovementsViewModel   = AutofacScope.Resolve <EmployeeMovementsViewModel>(parameter);
            VacationsViewModel   = AutofacScope.Resolve <EmployeeVacationsViewModel>(parameter);
            //Панели
            EmployeePhotoViewModel = AutofacScope.Resolve <EmployeePhotoViewModel>(parameter);

            VisiblePhoto = Entity.Photo != null;
            lkLastPhone  = Entity.PhoneNumber;
            LkPassword   = Entity.LkRegistered ? unknownPassword : String.Empty;

            Validations.Add(new ValidationRequest(this));
        }
 public void Init()
 {
     _repo = new NormRepository("some path");
     _dataCreator = new SampleDataCreator();
 }