public CommandResult Handle(CreatePieceCommand command) { var piece = mapper.Map <Model.Entity.Piece>(command); using (var ctx = new BookshelfDbContext(_connectionString)) { ctx.Pieces.Add(piece); ctx.SaveChanges(); return(CommandResult.Ok(piece.Id)); } }
public CommandResult Handle(CreateAuthorCommand command) { var author = mapper.Map <Model.Entity.Author>(command); var nationalityId = getNationalityIdByNameQueryHandler.Handle(new GetNationalityIdByNameQuery { Name = command.Nationality }); author.NationalityId = nationalityId.Value; using (var ctx = new BookshelfDbContext(_connectionString)) { ctx.Authors.Add(author); ctx.SaveChanges(); return(CommandResult.Ok(author.Id)); } }
public CommandResult Handle(CreateAccountCommand command) { using (var ctx = new BookshelfDbContext(connectionString)) { var user = new Model.Entity.User { AspNetGuid = command.AspNetGuid, FirstName = command.FirstName, LastName = command.LastName, CardId = new Random().Next(1, 99999999), // TODO: In the future check if number is not used yet. }; ctx.Users.Add(user); ctx.SaveChanges(); return(CommandResult.Ok(user.Id)); } }
public CommandResult Handle(CreateBookCommand command) { var book = mapper.Map <Model.Entity.Book>(command); book.BookTags = new List <Model.Entity.BookTag>(); foreach (var tag in command.BookTags) { book.BookTags.Add(new Model.Entity.BookTag { Tag = tag }); } using (var ctx = new BookshelfDbContext(_connectionString)) { ctx.Books.Add(book); ctx.SaveChanges(); return(CommandResult.Ok(book.Id)); } }
public BasePagedAndSortedResult <GetBookByIdResponse> Handle(GetBooksByAuthorQuery query) { using (var ctx = new BookshelfDbContext(_connectionString)) { var booksQueryable = ctx.Books .Where(q => q.AuthorId == query.AuthorId && q.IsActive) .Include(p => p.BookTags) .Select(q => new GetBookByIdResponse { Id = q.Id, Title = q.Title, MaxLoanDays = q.MaxLoanDays, Pages = q.Pages, AuthorId = q.AuthorId, BookTags = q.BookTags.Select(q => new BookTagResponse { Id = q.Id, Tag = q.Tag }).ToList() }); return(BasePagedAndSortedResult.GenerateFromQueryable(booksQueryable, query)); } }