public async Task <ActionResult> CreateFilm(CreateFilmVM createFilmModel) { try { if (!ModelState.IsValid) { return(View(createFilmModel)); } if (createFilmModel.ReleaseYear < 1895 || createFilmModel.ReleaseYear > DateTime.Now.Year) { ModelState.AddModelError(string.Empty, "Указан неверный год выпуска"); return(View(createFilmModel)); } if (!ImageHelper.IsImage(createFilmModel.ImageFile)) { ModelState.AddModelError(string.Empty, "Неверный формат изображения "); return(View(createFilmModel)); } var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); if (userId == null) { ModelState.AddModelError(string.Empty, "Пользователь не найден"); return(View(createFilmModel)); } var imageName = ImageHelper.UploadImage(createFilmModel.ImageFile, _webHostEnvironment); var filmCreateDto = new FilmForCreateDto { Name = createFilmModel.Name, Description = createFilmModel.Description, ReleaseYear = createFilmModel.ReleaseYear, Director = createFilmModel.Director, ImgName = imageName, UserId = userId }; await _filmService.CreateFilmAsync(filmCreateDto); var alertMessage = $"Фильм \"{createFilmModel.Name}\" успешно создан!"; return(RedirectToAction("Index", "Film", new { message = alertMessage, messageType = MessageTypeEnum.Success })); } catch (Exception ex) { return(RedirectToAction("ShowError", "Error", new { message = ex.Message })); } }
public async Task <int> CreateFilmAsync(FilmForCreateDto filmDto) { var film = new FilmEntity { Name = filmDto.Name, Description = filmDto.Description, ReleaseYear = filmDto.ReleaseYear, Director = filmDto.Director, ImgName = filmDto.ImgName, CreatedDateTime = DateTime.Now, CreatedBy = filmDto.UserId }; await _repositoryManager.Films.CreateAsync(film); return(await _repositoryManager.SaveChanges()); }