コード例 #1
0
            public async Task <CQRSResult <AuthorGetDTO> > Handle(AuthorAddCommand request, CancellationToken cancellationToken)
            {
                var entity = request.ToModel();

                uow.AuthorsRepository.Add(entity);
                await uow.Save(cancellationToken);

                return(AuthorGetMap.ToDTO(entity));
            }
コード例 #2
0
ファイル: BookGet.dto.cs プロジェクト: LucaGabi/BookArchive
 public static Book ToModel(this BookGetDTO dto)
 {
     return(new Book
     {
         Id = dto.Id,
         Title = dto.Title,
         Description = dto.Description,
         CoverImagePath = dto.CoverImagePath,
         Authors = dto.Authors?.Select(x => AuthorGetMap.ToModel(x)).ToArray()
     });
 }
コード例 #3
0
ファイル: AuthorQuery.cs プロジェクト: LucaGabi/BookArchive
            public async Task <CQRSResult <AuthorGetDTO> > Handle(AuthorQuery request, CancellationToken cancellationToken)
            {
                var author = uow.AuthorsRepository.GetById(request.Id);

                if (author != null)
                {
                    return(AuthorGetMap.ToDTO(author));
                }
                else
                {
                    return((null as AuthorGetDTO).AsCQRSResult(code: 404));
                };
            }
コード例 #4
0
ファイル: BookGet.dto.cs プロジェクト: LucaGabi/BookArchive
 public static BookGetDTO ToDTO(this Book model, bool withLinks = true)
 {
     return(new BookGetDTO
     {
         Id = model.Id,
         Title = model.Title,
         CoverImagePath = model.CoverImagePath,
         Description = model.Description,
         BookAuthors = model.AuthorBooks?.Select(x => BookAuthorGetMap.ToDTO(x)).ToArray(),
         Authors = withLinks
                     ? model.Authors?.Select(x => AuthorGetMap.ToDTO(x, false)).ToArray()
                     : new AuthorGetDTO[0]
     });
 }
コード例 #5
0
            public async Task <CQRSResult <AuthorGetDTO> > Handle(AuthorUpdateCommand request, CancellationToken cancellationToken)
            {
                var exists = uow.AuthorsRepository.Contains(x => x.Id == request.Id);

                if (exists)
                {
                    var entity = request.ToModel();
                    uow.AuthorsRepository.Update(entity);
                    await uow.Save();

                    return(AuthorGetMap.ToDTO(entity));
                }
                else
                {
                    return((null as AuthorGetDTO).AsCQRSResult(code: 404));
                }
            }
コード例 #6
0
            public async Task <CQRSResult <AuthorGetDTO> > Handle(AuthorDeleteCommand request, CancellationToken cancellationToken)
            {
                var author = uow.AuthorsRepository.GetById(request.Id);

                if (author != null)
                {
                    uow.AuthorsRepository.Delete(author);
                }
                else
                {
                    return(AuthorGetMap.ToDTO(null).AsCQRSResult(code: 404));
                }
                await uow.Save(cancellationToken);

                return(AuthorGetMap.ToDTO(new Author {
                    Id = request.Id
                }));
            }
コード例 #7
0
            public async Task <CQRSResult <List <AuthorGetDTO> > > Handle(AuthorsQuery request, CancellationToken cancellationToken)
            {
                var authors = uow.AuthorsRepository.Get();

                return(authors.Select(x => AuthorGetMap.ToDTO(x)).ToList());
            }