public FilmScore EditFilmScore(int filmId, FilmScore fs) { var oldVal = FindFilmScoreByFilmId(filmId); FilmScores.Remove(oldVal); var newVal = FilmScores.Add(fs); SaveChanges(); return(newVal.Entity); }
public Film AddFilm(FilmModel filmModel) { var kinopoiskInfo = KinozalSearcher.GetKinopoiskInfo(filmModel.RusName); var film = new Film() { RusName = filmModel.RusName, Year = kinopoiskInfo.Year ?? filmModel.Year, Description = filmModel.Description, Director = kinopoiskInfo.Director ?? filmModel.Director, Genres = 0, }; foreach (var genre in filmModel.Genres.Where(g => g.IsSelected)) { film.Genres |= (int)genre.Name; } var ret = Films.Add(film); SaveChanges(); FilmScores.Add(new FilmScore() { FilmId = film.FilmId, AvgScore = 0.0, ReviewsNum = 0 }); SaveChanges(); var links = KinozalSearcher.GetLinks(film.RusName); if (!string.IsNullOrEmpty(links[0].Poster)) { using var webClient = new WebClient(); film.Picture = webClient.DownloadData(links[0].Poster); } if (film.Picture is null && film.Picture is not null) { using var binaryReader = new BinaryReader(filmModel.Picture.OpenReadStream()); film.Picture = binaryReader.ReadBytes((int)filmModel.Picture.Length); } foreach (var link in links) { Links.Add(new KinozalLink { FilmId = film.FilmId, Link = link.Link, Quality = link.Quality, Size = link.Size }); } SaveChanges(); return(ret.Entity); }