private static void ImportMountain(MountainJson mountain) { var context = new MountainsContext(); if (string.IsNullOrEmpty(mountain.MountainName)) { throw new ArgumentException("Mountain name is required."); } var peaks = new List <Peak>(); foreach (var peak in mountain.Peaks) { if (string.IsNullOrEmpty(peak.PeakName)) { throw new ArgumentException("Peak name is required."); } if (peak.Elevation == null) { throw new ArgumentException("Peak elevation is required."); } var dataPeak = new Peak() { Name = peak.PeakName, Elevation = (int)peak.Elevation }; peaks.Add(dataPeak); } var countries = mountain.Countries .Select(country => new Country() { CountryName = country, CountryCode = country.Substring(0, 2).ToUpper() }) .ToList(); var dataMountain = new Mountain() { Name = mountain.MountainName, Countries = countries, Peaks = peaks }; context.Mountains.AddOrUpdate(dataMountain); context.SaveChanges(); }
private static void ImportMountain(MountainJson mountain) { var context = new MountainsContext(); if (string.IsNullOrEmpty(mountain.MountainName)) { throw new ArgumentException("Mountain name is required."); } var peaks = new List<Peak>(); foreach (var peak in mountain.Peaks) { if (string.IsNullOrEmpty(peak.PeakName)) { throw new ArgumentException("Peak name is required."); } if (peak.Elevation == null) { throw new ArgumentException("Peak elevation is required."); } var dataPeak = new Peak() { Name = peak.PeakName, Elevation = (int)peak.Elevation }; peaks.Add(dataPeak); } var countries = mountain.Countries .Select(country => new Country() { CountryName = country, CountryCode = country.Substring(0, 2).ToUpper() }) .ToList(); var dataMountain = new Mountain() { Name = mountain.MountainName, Countries = countries, Peaks = peaks }; context.Mountains.AddOrUpdate(dataMountain); context.SaveChanges(); }