public async Task <ResponseDto <BaseModelDto> > AddEpisode(int seasonId, AddEpisodeBindingModel episodeBindingModel) { var response = new ResponseDto <BaseModelDto>(); var seasonExists = await _seasonRepository.ExistAsync(x => x.Id == seasonId); if (!seasonExists) { response.AddError(Model.Season, Error.season_NotFound); return(response); } var episodeInDb = await _episodeRepository.GetByAsync(x => x.EpisodeNumber == episodeBindingModel.EpisodeNumber && x.SeasonId == seasonId); if (episodeInDb != null) { response.AddError(Model.Episode, Error.episode_Exists); return(response); } var episode = _mapper.Map <Episode>(episodeBindingModel); episode.SeasonId = seasonId; var result = await _episodeRepository.AddAsync(episode); if (!result) { response.AddError(Model.Episode, Error.episode_Adding); return(response); } return(response); }
public async Task <IActionResult> AddEpisode(int seasonId, [FromBody] AddEpisodeBindingModel episodeBindingModel) { var result = await _episodeService.AddEpisode(seasonId, episodeBindingModel); if (result.ErrorOccurred) { return(BadRequest(result)); } return(Ok(result)); }