public async Task <FilmViewModel> EditFilmAsync(FilmViewModel film) { if (film == null) { throw new NullReferenceException($"Параметр film не должен быть null!"); } FilmDataModel model; using (var ctx = new FilmsCatalogDbContext()) { model = await ctx.Films .Include("User") .FirstOrDefaultAsync(f => f.Id == film.Id); if (model == null) { throw new Exception($"Фильм с идентификатором {film.Id} не найден в базе данных!"); } model.Name = film.Name; model.Producer = film.Producer; model.Description = film.Description; model.CreateYear = film.CreateYear; model.MimeType = film.MimeType; model.FileName = film.FileName; await ctx.SaveChangesAsync(); } var filmMapper = new FilmModelMapper().CreateMapper(); return(filmMapper.Map <FilmViewModel>(model)); }
public async Task <FilmViewModel> SaveFilmAsync(FilmViewModel film) { if (film == null) { throw new NullReferenceException($"Параметр film не должен быть null!"); } var filmMapper = new FilmModelMapper().CreateMapper(); var model = filmMapper.Map <FilmDataModel>(film); using (var ctx = new FilmsCatalogDbContext()) { model = ctx.Films.Add(model); await ctx.SaveChangesAsync(); } return(filmMapper.Map <FilmViewModel>(model)); }