public IHttpActionResult PutNationality(int id, Nationality nationality) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != nationality.Id) { return(BadRequest()); } db.Entry(nationality).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!NationalityExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public static void EnsureSeedDataForContext(this NationalityContext context) { if (context.Nationalities.Any()) { return; } var html = @"https://www.worldatlas.com/aatlas/ctycodes.htm"; HtmlWeb web = new HtmlWeb { AutoDetectEncoding = false, OverrideEncoding = Encoding.GetEncoding("iso-8859-1") }; var htmldoc = web.Load(html); var nodesCountries = htmldoc.DocumentNode.SelectNodes($"//main/div/article/div/table//tr/td"); var linkCoutries = new List <Nationality>(); var fifaCodes = AddFifaCodes(); for (int i = 5; i < nodesCountries.Count - 1; i++) { var wikiData = SeedWikipedia.GetWiki(Regex.Replace(nodesCountries[i].InnerText, $"\\r\\n\\s", "").Trim()).Result; linkCoutries.Add(item: new Nationality { Name = Regex.Replace(nodesCountries[i].InnerText, $"\\r\\n\\s", "").Trim(), CodeCountryTwoChars = Regex.Replace(nodesCountries[++i].InnerText, $"\\r\\n\\s", "").Trim(), PngImage = GetImageAsBase64Url(Regex.Replace(nodesCountries[i].InnerText, $"\\r\\n\\s", "").Trim()).Result, CodeCountryThreeChars = nodesCountries[++i].InnerText, Description = wikiData.Description, WikiLink = wikiData.Link, FifaCodeCountry = fifaCodes.FirstOrDefault(f => f.Key == nodesCountries[i].InnerText).Value }); i += 2; } var wikiScot = SeedWikipedia.GetWiki("Scotland").Result; linkCoutries.Add(new Nationality { Name = "Scotland", CodeCountryThreeChars = "SCO", CodeCountryTwoChars = "SC", Description = wikiScot.Description, WikiLink = wikiScot.Link, PngImage = "No data", FifaCodeCountry = "SCO" }); wikiScot = SeedWikipedia.GetWiki("Wales").Result; linkCoutries.Add(new Nationality { Name = "Wales", CodeCountryThreeChars = "WAL", CodeCountryTwoChars = "WL", Description = wikiScot.Description, WikiLink = wikiScot.Link, PngImage = "No data", FifaCodeCountry = "WAL" }); wikiScot = SeedWikipedia.GetWiki("Northern Ireland").Result; linkCoutries.Add(new Nationality { Name = "Northern Ireland", CodeCountryThreeChars = "NIR", CodeCountryTwoChars = "NX", Description = wikiScot.Description, PngImage = "No data", WikiLink = wikiScot.Link, FifaCodeCountry = "NIR" }); wikiScot = SeedWikipedia.GetWiki("Kosovo").Result; linkCoutries.Add(new Nationality { Name = "Kosovo", CodeCountryThreeChars = "KVX", CodeCountryTwoChars = "KV", Description = wikiScot.Description, PngImage = "No data", WikiLink = wikiScot.Link, FifaCodeCountry = "KVX" }); context.Nationalities.AddRange(linkCoutries); context.SaveChanges(); }