public async Task <IActionResult> CreateFilm(FilmViewModel model) { byte[] imageData = null; var files = this.HttpContext.Request.Form.Files; if (files.Count != 1) { if (string.IsNullOrEmpty(model.PosterImageBase64WithMimeType)) { ModelState.AddModelError("Image", $"Получено неверное количество файлов (принято {files.Count}, ожидается 1)"); } } else { if (files[0].TryConvertFileToPNG(out imageData)) { model.PosterImageBase64WithMimeType = ImageUtils.ConvertToBase64WithMimeType(imageData); } else { ModelState.AddModelError("Image", $"Получено некорректное изображение: {files[0].FileName}"); } } if (!ModelState.IsValid) { model.Type = FilmViewModelType.Add; return(View("Film", model)); } var user = await _userManager.GetUserAsync(this.User); var film = new Film { Name = model.Name, Description = model.Description, Year = model.Year, Producer = model.Producer, AuthorId = user.Id, }; SetImageData(film, imageData, model); await _repository.CreateAsync(film); return(RedirectToAction("GetFilms")); }