Exemple #1
0
 public BRSIndicatorManager(
     IBRSConfigurationTemplateRepository brsConfigurationTemplateRepository,
     IKPIPriorityRepository kpiPriorityRepository,
     IScenarioResultRepository scenarioResultRepository,
     IBRSCalculator brsCalculator,
     IAuditEventRepository auditEventRepository)
 {
     _brsConfigurationTemplateRepository = brsConfigurationTemplateRepository;
     _kpiPriorityRepository    = kpiPriorityRepository;
     _scenarioResultRepository = scenarioResultRepository;
     _brsCalculator            = brsCalculator;
     _auditEventRepository     = auditEventRepository;
 }
Exemple #2
0
        public CreateOrUpdateBRSConfigurationTemplateValidation(IKPIPriorityRepository kpiPriorityRepository, IBRSConfigurationTemplateRepository brsConfigurationTemplateRepository)
        {
            _kpiPriorityRepostitory             = kpiPriorityRepository;
            _brsConfigurationTemplateRepository = brsConfigurationTemplateRepository;

            RuleFor(x => x).Must(model =>
            {
                var existsItem = _brsConfigurationTemplateRepository.GetByName(model.Name);
                return(existsItem == null || existsItem.Id == model.Id);
            }).WithMessage("Duplicated template name");
            RuleFor(p => p.Name).NotEmpty().WithMessage("Name is missing");
            RuleFor(p => p.KPIConfigurations).Custom((kpiConfigurations, context) =>
            {
                if (IsEmpty(kpiConfigurations))
                {
                    context.AddFailure("KPIConfigurations are missing");
                    return;
                }

                if (!IsValidKPINames(kpiConfigurations))
                {
                    context.AddFailure($"Expected list of configurations for kpis: {string.Join($",{Environment.NewLine}", BRSHelper.KPIs)}");
                }

                var allKpiPriorities = _kpiPriorityRepostitory.GetAll();

                var excludePriorityId = allKpiPriorities.First(x => x.WeightingFactor == 0).Id;
                var existsPriorities  = allKpiPriorities.Select(x => x.Id);
                var inputPriorities   = kpiConfigurations.Select(x => x.PriorityId).ToList();

                var isAllPrioritiesExists = !inputPriorities.Except(existsPriorities).Any();
                if (!isAllPrioritiesExists)
                {
                    context.AddFailure("Invalid kpi priorities");
                }

                var isNotAllPrioritiesExclude = inputPriorities.Any(id => id != excludePriorityId);
                if (!isNotAllPrioritiesExclude)
                {
                    context.AddFailure("All kpi configurations are excluded");
                }
            });
        }
Exemple #3
0
 public KPIPrioritiesController(IKPIPriorityRepository repository)
 {
     _repository = repository;
 }
Exemple #4
0
 public KPIPriorityDomainModelHandler(IKPIPriorityRepository kpiPriorityRepository, ISqlServerTenantDbContext dbContext, IMapper mapper)
 {
     _repository = kpiPriorityRepository ?? throw new ArgumentNullException(nameof(kpiPriorityRepository));
     _dbContext  = dbContext ?? throw new ArgumentNullException(nameof(dbContext));
     _mapper     = mapper;
 }