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;
        }