Exemple #1
0
 public IActionResult Actors()
 {
     if (FilmDataDbContext.LocalActors == null)
     {
         FilmDataDbContext.UpdateLists();
     }
     return(View(FilmDataDbContext.LocalActors));
 }
Exemple #2
0
        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));
            }
        }