コード例 #1
0
ファイル: LoanService.cs プロジェクト: verahontas/Library
        public LoanViewModel NewLoan(int?tomeId)
        {
            if (tomeId == null)
            {
                return(null);
            }

            Tome tome = _context.Tomes
                        .Include(l => l.Book)
                        .Include(l => l.Loans)
                        .FirstOrDefault(l => l.Id == tomeId);

            LoanViewModel loan = new LoanViewModel {
                Tome = tome
            };

            loan.LoanFirstDay = DateTime.Today;

            loan.LoanLastDay = loan.LoanFirstDay + TimeSpan.FromDays(7);

            return(loan);
        }
コード例 #2
0
ファイル: LoanService.cs プロジェクト: verahontas/Library
        public async Task <Boolean> SaveLoanAsync(int?tomeId, string userName, LoanViewModel loan)
        {
            if (tomeId == null || loan == null)
            {
                return(false);
            }

            if (!Validator.TryValidateObject(loan, new ValidationContext(loan, null, null), null))
            {
                return(false);
            }

            if (_loanDateValidator.Validate(loan.LoanFirstDay, loan.LoanLastDay, tomeId.Value) != LoanDateError.None)
            {
                return(false);
            }

            Guest guest = await _userManager.FindByNameAsync(userName);

            if (guest == null)
            {
                return(false);
            }

            _context.Loans.Add(new Loan
            {
                TomeId   = loan.Tome.Id,
                UserId   = guest.Id,
                FirstDay = loan.LoanFirstDay,
                LastDay  = loan.LoanLastDay,
                IsActive = false //a kölcsönzést egy könyvtárosnak kell aktívvá tennie
            });

            //Debug.WriteLine("tomeid: " + tomeId);
            //Debug.WriteLine("numberofloans: " + _context.Books.Include(b => b.Tomes).FirstOrDefault(b => b.Id == loan.Tome.BookId).NumberOfLoans);

            /*foreach(var tome in _context.Tomes)
             * {
             *  if (tome.Id == loan.Tome.Id) //ha erre a kötetre volt a kölcsönzés
             *  {
             *      var book = _context.Books.FirstOrDefault(b => b.Id == tome.BookId);
             *      book.NumberOfLoans += 1;
             *  }
             * }*/

            var book = _context.Books.FirstOrDefault(b => b.Id == loan.Tome.BookId);

            book.NumberOfLoans += 1;

            //Debug.WriteLine("numberofloans: " + _context.Books.FirstOrDefault(b => b.Id == loan.Tome.Id).NumberOfLoans);

            try
            {
                _context.SaveChanges();
            }
            catch (Exception)
            {
                return(false);
            }

            return(true);
        }