Esempio n. 1
0
 public RunsValidator(
     IBRSConfigurationTemplateRepository brsConfigurationTemplateRepository,
     ITenantSettingsRepository tenantSettingsRepository,
     IRunRepository runRepository,
     IScenarioRepository scenarioRepository,
     ISalesAreaRepository salesAreaRepository,
     ICampaignRepository campaignRepository,
     IDemographicRepository demographicRepository,
     IDeliveryCappingGroupRepository deliveryCappingGroupRepository,
     IFeatureManager featureManager,
     IRunTypeRepository runTypeRepository,
     IAnalysisGroupRepository analysisGroupRepository,
     IMapper mapper
     )
 {
     _brsConfigurationTemplateRepository = brsConfigurationTemplateRepository;
     _tenantSettingsRepository           = tenantSettingsRepository;
     _runRepository                  = runRepository;
     _scenarioRepository             = scenarioRepository;
     _salesAreaRepository            = salesAreaRepository;
     _campaignRepository             = campaignRepository;
     _demographicRepository          = demographicRepository;
     _deliveryCappingGroupRepository = deliveryCappingGroupRepository;
     _featureManager                 = featureManager;
     _runTypeRepository              = runTypeRepository;
     _analysisGroupRepository        = analysisGroupRepository;
     _mapper = mapper;
 }
Esempio n. 2
0
 public BRSTemplatesController(
     IBRSConfigurationTemplateRepository repository,
     IModelDataValidator <CreateOrUpdateBRSConfigurationTemplateModel> validator,
     IMapper mapper)
 {
     _repository = repository;
     _validator  = validator;
     _mapper     = mapper;
 }
Esempio n. 3
0
 public BRSIndicatorController(
     IBRSIndicatorManager brsManager,
     IRunRepository runRepository,
     IScenarioResultRepository scenarioResultRepository,
     IBRSConfigurationTemplateRepository brsConfigurationTemplateRepository,
     IMapper mapper)
 {
     _brsManager                         = brsManager;
     _runRepository                      = runRepository;
     _scenarioResultRepository           = scenarioResultRepository;
     _brsConfigurationTemplateRepository = brsConfigurationTemplateRepository;
     _mapper = mapper;
 }
Esempio n. 4
0
 public BRSIndicatorManager(
     IBRSConfigurationTemplateRepository brsConfigurationTemplateRepository,
     IKPIPriorityRepository kpiPriorityRepository,
     IScenarioResultRepository scenarioResultRepository,
     IBRSCalculator brsCalculator,
     IAuditEventRepository auditEventRepository)
 {
     _brsConfigurationTemplateRepository = brsConfigurationTemplateRepository;
     _kpiPriorityRepository    = kpiPriorityRepository;
     _scenarioResultRepository = scenarioResultRepository;
     _brsCalculator            = brsCalculator;
     _auditEventRepository     = auditEventRepository;
 }
Esempio n. 5
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");
                }
            });
        }
Esempio n. 6
0
 public BRSConfigurationTemplateDomainModelHandler(IBRSConfigurationTemplateRepository brsConfigurationTemplateRepository, ISqlServerTenantDbContext dbContext, IMapper mapper)
 {
     _repository = brsConfigurationTemplateRepository ?? throw new ArgumentNullException(nameof(brsConfigurationTemplateRepository));
     _dbContext  = dbContext ?? throw new ArgumentNullException(nameof(dbContext));
     _mapper     = mapper;
 }