Example #1
0
        public void CheckoutItem(int id, int libraryCardId)
        {
            if (IsCheckedOut(id))
            {
                return;
            }

            var item = _context.LibraryAssets
                       .Include(a => a.Status)
                       .First(a => a.Id == id);

            _context.Update(item);

            item.Status = _context.Statuses
                          .FirstOrDefault(a => a.Name == "Checked Out");

            var now = DateTime.Now;

            var libraryCard = _context.LibraryCards
                              .Include(c => c.CheckOuts)
                              .FirstOrDefault(a => a.Id == libraryCardId);

            var checkout = new Checkoutt
            {
                LibraryAsset = item,
                LibraryCard  = libraryCard,
                Since        = now,
                Until        = GetDefaultCheckoutTime(now)
            };

            _context.Add(checkout);

            var checkoutHistory = new CheckoutHistory
            {
                CheckedOut   = now,
                LibraryAsset = item,
                LibraryCard  = libraryCard
            };

            _context.Add(checkoutHistory);
            _context.SaveChanges();
        }
Example #2
0
 public void Add(Checkoutt newCheckout)
 {
     _context.Add(newCheckout);
     _context.SaveChanges();
 }