Beispiel #1
0
        private void SeedOrganziations()
        {
            string[] targetEnvironments = { "Development", "Staging", "Test" };
            if (!targetEnvironments.Contains(environment.EnvironmentName))
            {
                return;
            }

            var organizations           = seedDataLoader.GetSeedData <List <Organization> >("Organizations");
            var regions                 = seederRepository.GetRegions() ?? new List <Region>();
            var organizationCommunities = organizations.Where(it => it.Community != null).Select(s => s.Community).ToList() ?? new List <Community>();
            var communties              = seederRepository.GetCommunities().Where(c => organizationCommunities.Exists(it => it.Name.Equals(c.Name, StringComparison.OrdinalIgnoreCase)));

            organizations.ToList().ForEach(o =>
            {
                o.RegionName  = o.Region?.Name;
                o.Region      = null;
                o.CommunityId = communties.SingleOrDefault(c => c.Name.Equals(o.Community?.Name, StringComparison.OrdinalIgnoreCase))?.Id;
                o.Community   = null;
            }
                                           );

            seederRepository.AddOrUpdateOrganizations(organizations.GroupBy(o => o.BCeIDBusinessGuid).Select(g => g.First()).ToList());
        }