コード例 #1
0
ファイル: RunsValidator.cs プロジェクト: Morebis-GIT/CI
 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;
 }
コード例 #2
0
ファイル: CampaignsController.cs プロジェクト: Morebis-GIT/CI
 public CampaignsController(
     ICampaignRepository campaignRepository,
     IRecommendationRepository recommendationRepository,
     IDataChangeValidator dataChangeValidator,
     IMapper mapper,
     IDemographicRepository demographicRepository,
     ISalesAreaRepository salesAreaRepository,
     IProductRepository productRepository,
     ICampaignExcelReportGenerator campaignsReportGenerator,
     IReportColumnFormatter reportColumnFormatter,
     IProgrammeRepository programmeRepository,
     IClashRepository clashRepository,
     IProgrammeCategoryHierarchyRepository programmeCategoryRepository,
     IFeatureManager featureManager,
     ICampaignFlattener campaignFlattener,
     ICampaignCleaner campaignCleaner,
     ICampaignPassPrioritiesService campaignPassPrioritiesService)
 {
     _campaignRepository       = campaignRepository;
     _dataChangeValidator      = dataChangeValidator;
     _recommendationRepository = recommendationRepository;
     _mapper = mapper;
     _demographicRepository       = demographicRepository;
     _clashRepository             = clashRepository;
     _salesAreaRepository         = salesAreaRepository;
     _productRepository           = productRepository;
     _campaignsReportGenerator    = campaignsReportGenerator;
     _reportColumnFormatter       = reportColumnFormatter;
     _programmeCategoryRepository = programmeCategoryRepository;
     _featureManager                = featureManager;
     _campaignFlattener             = campaignFlattener;
     _campaignCleaner               = campaignCleaner;
     _programmeRepository           = programmeRepository;
     _campaignPassPrioritiesService = campaignPassPrioritiesService;
 }
コード例 #3
0
 public DemographicDomainModelHandler(IDemographicRepository demographicRepository,
                                      ISqlServerDbContext dbContext, IMapper mapper)
 {
     _demographicRepository =
         demographicRepository ?? throw new ArgumentNullException(nameof(demographicRepository));
     _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext));
     _mapper    = mapper;
 }
コード例 #4
0
 /// <summary>
 /// Demographic controller constructor
 /// </summary>
 /// <param name="demographicRepository"></param>
 /// <param name="dataChangeValidator"></param>
 /// <param name="mapper"></param>
 public DemographicController(
     IDemographicRepository demographicRepository,
     IDataChangeValidator dataChangeValidator,
     IMapper mapper)
 {
     _demographicRepository = demographicRepository;
     _dataChangeValidator   = dataChangeValidator;
     _mapper = mapper;
 }
コード例 #5
0
ファイル: CampaignFlattener.cs プロジェクト: Morebis-GIT/CI
 public CampaignFlattener(
     IProductRepository productRepository,
     IDemographicRepository demographicRepository,
     IClashRepository clashRepository,
     IMapper mapper) : base(mapper)
 {
     _productRepository     = productRepository;
     _demographicRepository = demographicRepository;
     _clashRepository       = clashRepository;
 }
コード例 #6
0
 public BulkUniverseCreatedEventHandler(IMapper mapper,
                                        IUniverseRepository universeRepository,
                                        ISalesAreaRepository salesAreaRepository,
                                        IDemographicRepository demographicRepository)
 {
     _mapper                = mapper;
     _universeRepository    = universeRepository;
     _salesAreaRepository   = salesAreaRepository;
     _demographicRepository = demographicRepository;
 }
コード例 #7
0
 public UniversesController(IUniverseRepository universeRepository, IDemographicRepository demographicRepository,
                            ISalesAreaRepository salesAreaRepository,
                            IDataChangeValidator dataChangeValidator, IMapper mapper)
 {
     _universeRepository    = universeRepository;
     _demographicRepository = demographicRepository;
     _salesAreaRepository   = salesAreaRepository;
     _dataChangeValidator   = dataChangeValidator;
     _mapper = mapper;
 }
コード例 #8
0
 public SalesAreaUpdatedEventHandler(
     ISalesAreaRepository salesAreaRepository,
     IDemographicRepository demographicRepository,
     ISalesAreaDemographicRepository salesAreaDemographicRepository,
     IMapper mapper)
 {
     _salesAreaRepository            = salesAreaRepository;
     _demographicRepository          = demographicRepository;
     _salesAreaDemographicRepository = salesAreaDemographicRepository;
     _mapper = mapper;
 }
コード例 #9
0
 public BulkTotalRatingCreatedEventHandler(
     ITotalRatingRepository totalRatingRepository,
     IDemographicRepository demographicRepository,
     ISalesAreaRepository salesAreaRepository,
     IMapper mapper)
 {
     _totalRatingRepository = totalRatingRepository;
     _demographicRepository = demographicRepository;
     _salesAreaRepository   = salesAreaRepository;
     _mapper = mapper;
 }
コード例 #10
0
 public SalesAreasController(
     IDemographicRepository demographicRepository,
     ISalesAreaRepository salesAreaRepository,
     ISalesAreaCleanupDeleteCommand salesAreaCleanupDeleteCommand,
     IMapper mapper)
 {
     _demographicRepository = demographicRepository;
     _salesAreaRepository   = salesAreaRepository;
     _cleanupDeleteCommand  = salesAreaCleanupDeleteCommand;
     _mapper = mapper;
 }
コード例 #11
0
 public BulkSalesAreaCreatedOrUpdatedHandler(
     ISalesAreaRepository salesAreaRepository,
     IDemographicRepository demographicRepository,
     ISalesAreaDemographicRepository salesAreaDemographicRepository,
     IMapper mapper)
 {
     _salesAreaRepository            = salesAreaRepository;
     _demographicRepository          = demographicRepository;
     _salesAreaDemographicRepository = salesAreaDemographicRepository;
     _mapper = mapper;
 }
コード例 #12
0
        public static void ValidateDemographics(this IDemographicRepository repository, IReadOnlyCollection <string> demographics)
        {
            if (repository is null)
            {
                throw new ArgumentNullException(nameof(repository));
            }

            if (repository.GetByExternalRef(demographics?.Where(d => !string.IsNullOrEmpty(d)).ToList()).Distinct().Count() != demographics?.Where(d => !string.IsNullOrEmpty(d)).Distinct().Count())
            {
                throw new DataSyncException(DataSyncErrorCode.DemographicNotFound, "Demographic doesn't exist");
            }
        }
コード例 #13
0
        /// <summary>
        /// Validate the demographics
        /// </summary>
        /// <param name="values"></param>
        /// <param name="invalidList"></param>
        /// <returns></returns>
        public static bool ValidateDemographics(this IDemographicRepository repository, List <string> values, out List <string> invalidList)
        {
            invalidList = null;
            if (values is null || values.Count == 0 || values.Any(String.IsNullOrWhiteSpace))
            {
                return(false);
            }

            var demographics = (repository ?? throw new ArgumentNullException(nameof(repository))).GetAll().ToList();

            invalidList = values.Except(demographics.Select(d => d.ExternalRef)).ToList();
            return(invalidList != null && !invalidList.Any());
        }
コード例 #14
0
 public BulkStandardDayPartGroupCreatedEventHandler(
     IStandardDayPartGroupRepository standardDayPartGroupRepository,
     IStandardDayPartRepository standardDayPartRepository,
     ISalesAreaRepository salesAreaRepository,
     IDemographicRepository demographicRepository,
     IMapper mapper)
 {
     _standardDayPartGroupRepository = standardDayPartGroupRepository;
     _standardDayPartRepository      = standardDayPartRepository;
     _salesAreaRepository            = salesAreaRepository;
     _demographicRepository          = demographicRepository;
     _mapper = mapper;
 }
コード例 #15
0
        public static Demographic CheckDemographicByExternalRef(this IDemographicRepository repository, string externalRef)
        {
            if (repository is null)
            {
                throw new ArgumentNullException(nameof(repository));
            }

            var demographic = repository.GetByExternalRef(externalRef);

            if (demographic == null)
            {
                throw new DataSyncException(DataSyncErrorCode.ExternalReferenceNotFound,
                                            $"Demographic can't be found for ExternalRef: {externalRef}");
            }

            return(demographic);
        }
コード例 #16
0
        public OutputImmutableDataSnapshot(RunWithScenarioReference runWithScenarioRef, IRunRepository runRepository,
                                           IScenarioRepository scenarioRepository, IPassRepository passRepository,
                                           ICampaignRepository campaignRepository, IScheduleRepository scheduleRepository,
                                           ISalesAreaRepository salesAreaRepository, IDemographicRepository demographicRepository,
                                           IProgrammeDictionaryRepository programmeDictionaryRepository, ISpotRepository spotRepository,
                                           IMetadataRepository metadataRepository)
        {
            var runStartDate = new Lazy <DateTime>(() => Run.Value.StartDate.Add(Run.Value.StartTime));
            var runEndDate   = new Lazy <DateTime>(() => DateHelper.ConvertBroadcastToStandard(Run.Value.EndDate, Run.Value.EndTime));

            Run                      = new Lazy <Run>(() => runRepository.Find(runWithScenarioRef.RunId));
            Scenario                 = new Lazy <Scenario>(() => scenarioRepository.Get(runWithScenarioRef.ScenarioId), true);
            ScenarioPasses           = new Lazy <IEnumerable <Pass> >(() => passRepository.FindByScenarioId(runWithScenarioRef.ScenarioId), true);
            AllCampaigns             = new Lazy <IEnumerable <Campaign> >(campaignRepository.GetAll, true);
            AllSalesAreas            = new Lazy <IEnumerable <SalesArea> >(salesAreaRepository.GetAll, true);
            AllDemographics          = new Lazy <IEnumerable <Demographic> >(demographicRepository.GetAll, true);
            AllProgrammeDictionaries = new Lazy <IEnumerable <ProgrammeDictionary> >(programmeDictionaryRepository.GetAll, true);
            BreakTypes               = new Lazy <IEnumerable <string> >(() => metadataRepository.GetByKey(MetaDataKeys.BreakTypes).Select(e => (string)e.Value));

            SpotsForRun = new Lazy <IEnumerable <Spot> >(() =>
            {
                var salesAreaPriorities = Run.Value.SalesAreaPriorities.Count == 0
                    ? AllSalesAreas.Value
                    : AllSalesAreas.Value.Where(sa => Run.Value.SalesAreaPriorities.Find(rsa => rsa.SalesArea == sa.Name) != null);

                return(spotRepository.Search(
                           runStartDate.Value,
                           runEndDate.Value,
                           salesAreaPriorities.Select(sa => sa.Name).ToList()
                           ));
            },
                                                         true
                                                         );

            BreaksForRun = new Lazy <IEnumerable <BreakSimple> >(() =>
                                                                 scheduleRepository.GetScheduleSimpleBreaks(
                                                                     AllSalesAreas.Value.Select(c => c.Name).ToList(),
                                                                     runStartDate.Value,
                                                                     runEndDate.Value
                                                                     ),
                                                                 true
                                                                 );
        }
コード例 #17
0
 public BulkDemographicDeletedEventHandler(IDemographicRepository demographicRepository)
 {
     _demographicRepository = demographicRepository;
 }
コード例 #18
0
 public DemographicResultChecker(ITestDataImporter dataImporter, IDemographicRepository demographicsRepository) : base(dataImporter)
 {
     _demographicsRepository = demographicsRepository;
 }
コード例 #19
0
 public DemographicUpdatedEventHandler(IDemographicRepository demographicsRepository)
 {
     _demographicsRepository = demographicsRepository;
 }
コード例 #20
0
 public BulkDemographicCreatedOrUpdatedEventHandler(IDemographicRepository demographicsRepository, IMapper mapper)
 {
     _mapper = mapper;
     _demographicsRepository = demographicsRepository;
 }