public MEpisode Insert(EpisodeInsertRequest request)
        {
            var mostRecentEpisode = ctx.Episodes.OrderByDescending(x => x.Id).FirstOrDefault();

            if (mostRecentEpisode != null)
            {
                request.OverallNumberOfEpisode = mostRecentEpisode.OverallNumberOfEpisode + 1;
            }
            else
            {
                request.OverallNumberOfEpisode = 1;
            }
            var ep = _mapper.Map <Episode>(request);

            ctx.Episodes.Add(ep);

            ctx.SaveChanges();

            foreach (var c in request.MainCharacters)
            {
                var mc = new EpisodeCharacter {
                    CharacterId = c.Id, EpisodeId = ep.Id
                };
                ctx.EpisodeCharacters.Add(mc);
            }

            ctx.SaveChanges();

            return(_mapper.Map <MEpisode>(ep));
        }
 public MEpisode Insert(EpisodeInsertRequest request)
 {
     return(_service.Insert(request));
 }