public IActionResult Edit(int id, [Bind("Id,MemberId,BookId,ReturnByDate")] LendingRecord lendingRecord) { if (id != lendingRecord.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(lendingRecord); _context.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!LendingRecordExists(lendingRecord.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["BookId"] = new SelectList(_context.Book, "Id", "Id", lendingRecord.BookId); ViewData["MemberId"] = new SelectList(_context.Member, "Id", "Id", lendingRecord.MemberId); return(View(lendingRecord)); }
public IActionResult Create([Bind("Id,MemberId,BookId,ReturnByDate")] LendingRecord lendingRecord) { if (ModelState.IsValid) { _context.Add(lendingRecord); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } ViewData["BookId"] = new SelectList(_context.Book, "Id", "Id", lendingRecord.BookId); ViewData["MemberId"] = new SelectList(_context.Member, "Id", "Id", lendingRecord.MemberId); return(View(lendingRecord)); }
public Task <OperationResult <LendingRecord> > CheckoutAsync(Lender lender, Book item, DateTime to) { var record = new LendingRecord { From = DateTime.Now, To = DateTime.Now.AddDays(14), Lender = lender, Book = item, Returned = null }; return(_lendingRepository.CreateAsync(record)); }
public async Task <OperationResult <LendingRecord> > Lend(int bookId, int lenderId, DateTime @from, DateTime to) { var bookResult = await _bookRepository.GetAsync(bookId); if (!bookResult.Success) { return(new OperationResult <LendingRecord>("Book not found!", bookResult.ErrorMessages)); } var lenderResult = await _lenderRepository.GetAsync(lenderId); if (!lenderResult.Success) { return(new OperationResult <LendingRecord>("Lender not found!", lenderResult.ErrorMessages)); } var book = bookResult.Entity; var record = new LendingRecord { From = @from, To = to, BookId = bookId, LenderId = lenderId }; var createResult = await _lendingRepository.CreateAsync(record); if (!createResult.Success) { return(new OperationResult <LendingRecord>("Creation of lending record failed!", createResult.ErrorMessages)); } book.IsAvailable = false; var updateResult = await _bookRepository.UpdateAsync(book); if (!updateResult.Success) { return(new OperationResult <LendingRecord>("Updating book availability failed!", updateResult.ErrorMessages)); } return(createResult); }
public async Task UpdateAsync(LendingRecord record) { await DocumentStore.UpdateAsync(record); }