Example #1
0
        public bool MakeLease(BookLeaseDTO bookLeaseDTO)
        {
            Book book = Database.Books.Get(bookLeaseDTO.BookId);

            // валидация
            if (book == null)
            {
                throw new ValidationException("The book was not found", "");
            }
            // check if there is enough books for the order
            if (book.Amount >= bookLeaseDTO.Amount)
            {
                BookLease bookLease = new BookLease
                {
                    Amount     = bookLeaseDTO.Amount,
                    StudentId  = bookLeaseDTO.StudentId,
                    BookId     = bookLeaseDTO.BookId,
                    GetTime    = bookLeaseDTO.GetTime,
                    ReturnTime = bookLeaseDTO.ReturnTime
                };
                book.Amount -= bookLeaseDTO.Amount;
                Database.Books.Update(book);
                Database.Save();
                Database.BookLeases.Create(bookLease);
                Database.Save();
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #2
0
 public ActionResult MakeLease(BookLeaseVM lease)
 {
     try
     {
         var bookLeaseDTO = new BookLeaseDTO {
             BookId  = lease.BookId, Amount = lease.Amount, StudentId = lease.StudentId,
             GetTime = lease.GetTime, ReturnTime = lease.ReturnTime
         };
         leaseService.MakeLease(bookLeaseDTO);
         return(Content("<h2>Done!</h2>"));
     }
     catch (ValidationException ex)
     {
         ModelState.AddModelError(ex.Property, ex.Message);
     }
     return(View(lease));
 }
Example #3
0
 public ActionResult Lease(BookLeaseVM bookLeaseVM)
 {
     try
     {
         BookLeaseDTO bookLeaseDTO = new BookLeaseDTO
         {
             BookId    = bookLeaseVM.BookId,
             StudentId = bookLeaseVM.StudentId,
             GetTime   = DateTime.Now,
             Amount    = bookLeaseVM.Amount
         };
         if (leasesService.MakeLease(bookLeaseDTO))
         {
             return(RedirectToAction("Index"));
         }
         return(View("Error"));
     }
     catch
     {
         return(View());
     }
 }