public ComicGetDTO Execute(MyListDTO request)
        {
            var comic = Context.Comics
                        .Include(c => c.Publisher)
                        .Include(c => c.ComicGenres).ThenInclude(cg => cg.Genre)
                        .Include(c => c.ComicAuthors).ThenInclude(ca => ca.Author)
                        .Where(c => c.DeletedAt == null && c.Id == request.ComicId && c.Users.Any(cu => cu.ComicId == request.ComicId))
                        .SingleOrDefault();

            if (comic == null)
            {
                throw new EntityNotFoundException("Comic", request.ComicId);
            }
            return(new ComicGetDTO()
            {
                Id = comic.Id,
                Name = comic.Name,
                Description = comic.Description,
                Issues = comic.Issues,
                PublishedAt = comic.PublishedAt.Date,
                Publisher = comic.Publisher.Name,
                Genres = comic.ComicGenres.Select(cg => cg.Genre.Name),
                Authors = comic.ComicAuthors.Select(ca => ca.Author.FirstName + ' ' + ca.Author.LastName)
            });
        }
Exemple #2
0
 public IActionResult Delete(int id)
 {
     try
     {
         var dto = new MyListDTO();
         dto.User    = loginService.PossibleUser();
         dto.ComicId = id;
         deleteCommand.Execute(dto);
         return(NoContent());
     }
     catch (EntityNotFoundException e)
     {
         return(NotFound(new ErrorMessage {
             Message = e.Message
         }));
     }
 }
Exemple #3
0
 public IActionResult Get(int id)
 {
     try
     {
         var dto = new MyListDTO();
         dto.User    = loginService.PossibleUser();
         dto.ComicId = id;
         var comic = getOneCommand.Execute(dto);
         return(Ok(comic));
     }
     catch (EntityNotFoundException e)
     {
         return(NotFound(new ErrorMessage {
             Message = e.Message
         }));
     }
 }
        public void Execute(MyListDTO request)
        {
            if (request.User.DeletedAt != null)
            {
                throw new EntityNotFoundException("User", request.User.Id);
            }

            Context.Entry(request.User)
            .Collection(u => u.Comics)
            .Load();

            var comic = request.User.Comics.FirstOrDefault(c => c.ComicId == request.ComicId);

            if (comic == null)
            {
                throw new EntityNotFoundException("Comic", request.ComicId);
            }

            request.User.Comics.Remove(comic);
            Context.SaveChanges();
        }