public async Task <IActionResult> Initialize(Guid id) { BookShelfBook book = await this.initializeTransactionService.GetBookShelfBookById(id); User initiator = await this.initializeTransactionService.GetUserById(this.HttpContext.User.GetId() !.Value); User recipient = await this.initializeTransactionService.GetUserById(book.BookShelf.UserId); if (initiator.Id == recipient.Id) { return(this.BadRequest()); } var transaction = new Transaction { Id = Guid.NewGuid(), Initiator = initiator, Recipient = recipient, Status = Transaction.Statuses.Initialized, RecipientBooks = new List <BookShelfBook> { book } }; await this.dbContext.AddAsync(transaction); this.dbContext.SaveChanges(); return(this.RedirectToAction(nameof(Index), new { id = transaction.Id, })); }
public async Task <BookShelfBook> GetBookShelfBookById(Guid id) { BookShelfBook bookshelf = await this.applicationDbContext.BookShelfBooks .Include(bsb => bsb.BookShelf) .ThenInclude(bs => bs.User) .Include(bsb => bsb.Book) .FirstOrDefaultAsync(bsb => bsb.Id == id); return(bookshelf); }
public async Task <bool> RemoveBook(Guid Id) { BookShelfBook bok = this.applicationDbContext.BookShelfBooks.FirstOrDefault(b => b.BookId == Id); bok.IsRemoved = true; await this.applicationDbContext.SaveChangesAsync(); return(true); }