public async Task <IActionResult> AddTvShow([FromForm] AddTvShowBindingModel tvShowBindingModel) { var result = await _tvShowService.AddTvShow(tvShowBindingModel); if (result.ErrorOccurred) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <ResponseDto <BaseModelDto> > AddTvShow(AddTvShowBindingModel tvShowBindingModel) { var response = new ResponseDto <BaseModelDto>(); if (!Directory.Exists("wwwroot\\TvShowsPictures")) { Directory.CreateDirectory("wwwroot\\TvShowsPictures"); } var fileName = Guid.NewGuid() + Path.GetExtension(tvShowBindingModel.Photo.FileName); var filePath = Path.Combine("wwwroot\\TvShowsPictures", fileName); var backgroundFileName = Guid.NewGuid() + Path.GetExtension(tvShowBindingModel.BackgroundPhoto.FileName); var backgroundFilePath = Path.Combine("wwwroot\\TvShowsPictures", backgroundFileName); using (var stream = new FileStream(filePath, FileMode.Create)) { await tvShowBindingModel.Photo.CopyToAsync(stream); } using (var stream = new FileStream(backgroundFilePath, FileMode.Create)) { await tvShowBindingModel.BackgroundPhoto.CopyToAsync(stream); } var tvShow = _mapper.Map <TvShow>(tvShowBindingModel); tvShow.PhotoName = fileName; tvShow.BackgroundPhotoName = backgroundFileName; var tvShowInDatabase = await _tvShowRepository.GetByAsync(x => x.Name.ToLower() == tvShowBindingModel.Name.ToLower()); if (tvShowInDatabase != null) { response.AddError(Model.TvShow, Error.tvShow_Exists); return(response); } var result = await _tvShowRepository.AddAsync(tvShow); if (!result) { response.AddError(Model.TvShow, Error.tvShow_Adding); } return(response); }