public void Apply() { foreach (string tenantConnectionString in _tenantConnectionStrings) { using (IDocumentStore documentStore = DocumentStoreFactory.CreateStore(tenantConnectionString)) using (IDocumentSession session = documentStore.OpenSession()) { var scenarioRepository = new RavenScenarioRepository(session); var campaignRepository = new RavenCampaignRepository(session, null, null); IEnumerable <Scenario> _scenarios; List <CampaignWithProductFlatModel> allCampaigns; GetAllScenariosAndCampaigns(scenarioRepository, campaignRepository, out _scenarios, out allCampaigns); foreach (Scenario scenario in _scenarios) { AmendCampaignPassPrioritiesForNewCampaigns(scenario, allCampaigns); scenarioRepository.Update(scenario); } scenarioRepository.SaveChanges(); } } }
private void GetAllScenariosAndCampaigns(RavenScenarioRepository scenarioRepository, RavenCampaignRepository campaignRepository, out IEnumerable <Scenario> _scenarios, out List <CampaignWithProductFlatModel> allCampaigns) { _scenarios = GetAllScenariosInLibrary(scenarioRepository); //get all the campaigns with product info. this will be used to add CampaignPassPriorities for new Campaigns to each Scenario var campaignsResult = campaignRepository.GetWithProduct(null); allCampaigns = campaignsResult.Items != null && campaignsResult.Items.Any() ? campaignsResult.Items.ToList() : null; }