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); }
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); }