public IActionResult Actors() { if (FilmDataDbContext.LocalActors == null) { FilmDataDbContext.UpdateLists(); } return(View(FilmDataDbContext.LocalActors)); }
public IActionResult DoUpload(IFormFile file) { using (var stream = file.OpenReadStream()) { var xs = new XmlSerializer(typeof(DataXml)); var dataXml = (DataXml)xs.Deserialize(stream); var data = dataXml.ToData(); var dbFilms = data.Films.ToDictionary(x => x.Key, x => new DbFilm(x.Value)); var dbActors = data.Actors.ToDictionary(x => x.Key, x => new DbActor(x.Value)); foreach (var film in data.Films) { foreach (var work in film.Value.Credits) { var dbWork = new DbWork { Position = work.Position, Discription = work.Discription }; dbFilms[work.FilmId].Credits.Add(dbWork); dbActors[work.ActorId].Works.Add(dbWork); } } using (var db = new FilmDataDbContext()) { foreach (var film in dbFilms.Values) { db.Films.Add(film); } foreach (var actor in dbActors.Values) { db.Actors.Add(actor); } db.SaveChanges(); } FilmDataDbContext.UpdateLists(); return(View(dataXml)); } }