示例#1
0
        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));
        }
示例#2
0
        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));
        }