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