public IActionResult RenewList() { string userId = _userManager.GetUserId(User); List <Loan> userLoans = _loanRepository.GetCurrentLoansByUserId(userId).ToList(); List <LoanWithBookDetails> loansWithDetails = new List <LoanWithBookDetails>(); foreach (var loan in userLoans) { var loanPlusDetails = new LoanWithBookDetails(); // var loanPlusDetails = _appDbContext.LoansWithBookDetails; loanPlusDetails.BookId = loan.LoanBookId; loanPlusDetails.BookIdent = loan.LoanBookIdent; loanPlusDetails.UserId = loan.UserId; loanPlusDetails.BorrowDate = loan.BorrowDate; DateTime tempScheduleReturnDate = loan.ScheduleReturnDate; loanPlusDetails.ScheduleReturnDate = tempScheduleReturnDate.Date; loanPlusDetails.TimesRenewed = loan.TimesRenewed; var bookDetails = _bookRepository.GetBookByIdent(loan.LoanBookIdent); loanPlusDetails.Name = bookDetails.Name; loanPlusDetails.Author = bookDetails.Author; loanPlusDetails.Description = bookDetails.Description; loanPlusDetails.BookCoverThumbnailUrl = bookDetails.BookCoverThumbnailUrl; loansWithDetails.Add(loanPlusDetails); } var loanMessage = "My Loans"; if (!userLoans.Any()) { loanMessage = loanMessage + ": No Current Loans"; } var renewViewModel = new RenewViewModel() { LoanMessage = loanMessage, LoanRenewList = loansWithDetails }; return(View(renewViewModel)); }
public IActionResult RenewList(string bookIdent) { string userId = _userManager.GetUserId(User); var localLoan = _loanRepository.GetLoanByBookIdent(bookIdent); var localBook = _bookRepository.GetBookByIdent(bookIdent); var overdueFee = _loanRepository.CalcOverdue(localLoan.LoanId, userId); var renewed = false; var canRenew = false; var renewalNotTooSoon = true; bool tempTextColRed = false; bool recentBorrow = false; var timesRenewed = localLoan.TimesRenewed; if (timesRenewed < 5) { canRenew = true; } if (localLoan.LatestRenewDate.AddDays(7) > DateTime.Now) { renewalNotTooSoon = false; if (localLoan.LatestRenewDate == localLoan.BorrowDate) { recentBorrow = true; } } if ((canRenew == true) && (renewalNotTooSoon == true)) { renewed = _loanRepository.RenewLoan(localLoan.LoanBookIdent, userId); } var loanMessage = ""; if (renewed == true) { loanMessage = "'" + localBook.Name + "' was Renewed Successfully"; if (overdueFee > 0) { int euros = ((int)overdueFee / 100); int cents = ((int)overdueFee % 100); loanMessage = loanMessage + "An Overdue fee of " + euros + "," + cents + "€ will apply"; } } else if ((renewed == false) && (canRenew == true) && (renewalNotTooSoon == true)) { loanMessage = "Loan Renewal was Unsuccessful"; tempTextColRed = true; } else if ((canRenew == false) && (renewalNotTooSoon == true)) { loanMessage = "Loan Renewal was Unsuccessful. This book has been Renewed a Maximum 5 times"; if (overdueFee > 0) { int euros = ((int)overdueFee / 100); int cents = ((int)overdueFee % 100); loanMessage = loanMessage + "An Overdue fee of " + euros + "," + cents + "€ will apply"; } tempTextColRed = true; } else if ((canRenew == true) && (renewalNotTooSoon == false) && recentBorrow == false) { loanMessage = "Loan Renewal was Unsuccessful. This book was Renewed less than 1 week ago"; tempTextColRed = true; } else if ((canRenew == true) && (renewalNotTooSoon == false) && recentBorrow == true) { loanMessage = "Loan Renewal was Unsuccessful. This book was Borrowed less than 1 week ago"; tempTextColRed = true; } var userLoans = _loanRepository.GetCurrentLoansByUserId(userId); var loansWithDetails = new List <LoanWithBookDetails>(); foreach (var loan in userLoans) { var loanPlusDetails = new LoanWithBookDetails(); // var loanPlusDetails = _appDbContext.LoansWithBookDetails; loanPlusDetails.BookId = loan.LoanBookId; loanPlusDetails.BookIdent = loan.LoanBookIdent; loanPlusDetails.UserId = loan.UserId; loanPlusDetails.BorrowDate = loan.BorrowDate; DateTime tempScheduleReturnDate = loan.ScheduleReturnDate; loanPlusDetails.ScheduleReturnDate = tempScheduleReturnDate.Date; loanPlusDetails.TimesRenewed = loan.TimesRenewed; var bookDetails = _bookRepository.GetBookByIdent(loan.LoanBookIdent); loanPlusDetails.Name = bookDetails.Name; loanPlusDetails.Author = bookDetails.Author; loanPlusDetails.Description = bookDetails.Description; loanPlusDetails.BookCoverThumbnailUrl = bookDetails.BookCoverThumbnailUrl; loansWithDetails.Add(loanPlusDetails); } var renewViewModel = new RenewViewModel() { LoanRenewList = loansWithDetails, LoanMessage = loanMessage, TextColorRed = tempTextColRed }; return(View(renewViewModel)); }
public IActionResult LoanList(string includePrevious) { bool showOldLoans = bool.Parse(includePrevious); string userId = _userManager.GetUserId(User); List <Loan> userLoans = _loanRepository.GetCurrentLoansByUserId(userId).ToList(); List <LoanWithBookDetails> loansWithDetails = new List <LoanWithBookDetails>(); string loanHistoricMessage = null; foreach (var loan in userLoans) { var loanPlusDetails = new LoanWithBookDetails(); loanPlusDetails.BookId = loan.LoanBookId; loanPlusDetails.BookIdent = loan.LoanBookIdent; loanPlusDetails.UserId = loan.UserId; loanPlusDetails.BorrowDate = loan.BorrowDate; DateTime tempScheduleReturnDate = loan.ScheduleReturnDate; loanPlusDetails.ScheduleReturnDate = tempScheduleReturnDate.Date; loanPlusDetails.TimesRenewed = loan.TimesRenewed; var bookDetails = _bookRepository.GetBookByIdent(loan.LoanBookIdent); loanPlusDetails.Name = bookDetails.Name; loanPlusDetails.Author = bookDetails.Author; loanPlusDetails.Description = bookDetails.Description; loanPlusDetails.BookCoverThumbnailUrl = bookDetails.BookCoverThumbnailUrl; loansWithDetails.Add(loanPlusDetails); } List <LoanWithBookDetails> loansHistoricWithDetails = new List <LoanWithBookDetails>(); if (showOldLoans == true) { List <LoanHistoric> userLoansHistoric = _loanRepository.GetHistoricLoansByUserId(userId).ToList(); if (userLoansHistoric.Count > 0) { loanHistoricMessage = "Previous Loans:"; foreach (var loan in userLoansHistoric) { var loanPlusDetails = new LoanWithBookDetails(); loanPlusDetails.BookId = loan.LoanBookId; string bookIdent = _bookRepository.GetBookIdentById(loan.LoanBookId); loanPlusDetails.BookIdent = bookIdent; loanPlusDetails.UserId = loan.UserId; loanPlusDetails.BorrowDate = loan.BorrowDate; loanPlusDetails.ActualReturnDate = loan.ActualReturnDate; loanPlusDetails.TimesRenewed = loan.TimesRenewed; var bookDetails = _bookRepository.GetBookByIdent(bookIdent); loanPlusDetails.Name = bookDetails.Name; loanPlusDetails.Author = bookDetails.Author; loanPlusDetails.Description = bookDetails.Description; loanPlusDetails.BookCoverThumbnailUrl = bookDetails.BookCoverThumbnailUrl; loansHistoricWithDetails.Add(loanPlusDetails); } } else { loanHistoricMessage = "No Previous Loans:"; loansHistoricWithDetails = null; } } var loanMessage = "My Loans"; if (!userLoans.Any()) { loanMessage = loanMessage + ": No Current Loans"; } var loansViewModel = new LoanViewModel() { LoansList = loansWithDetails, LoansHistoricWithDetails = loansHistoricWithDetails, LoanMessage = loanMessage, LoanHistoricMessage = loanHistoricMessage, showHistoric = showOldLoans }; return(View(loansViewModel)); }
public IActionResult ReturnList(string bookIdent) { string userId = _userManager.GetUserId(User); Loan localLoan = _loanRepository.GetLoanByBookIdent(bookIdent); Book localBook = _bookRepository.GetBookByIdent(bookIdent); var overdueFee = _loanRepository.CalcOverdue(localLoan.LoanId, userId); var Returned = false; Returned = _loanRepository.EndLoan(localLoan.LoanBookIdent, userId); string loanMessage = null; if (Returned == true) { loanMessage = "'" + localBook.Name + "' was Successfully Returned"; } else { loanMessage = "Return of " + localBook.Name + " was Unsuccessful"; } if (overdueFee > 0) { int euros = ((int)overdueFee / 100); int cents = ((int)overdueFee % 100); loanMessage = loanMessage + "An Overdue fee of " + euros + "," + cents + "€ will apply"; } var userLoans = _loanRepository.GetCurrentLoansByUserId(userId); var loansWithDetails = new List <LoanWithBookDetails>(); foreach (var loan in userLoans) { var loanPlusDetails = new LoanWithBookDetails(); // var loanPlusDetails = _appDbContext.LoansWithBookDetails; loanPlusDetails.BookId = loan.LoanBookId; loanPlusDetails.BookIdent = loan.LoanBookIdent; loanPlusDetails.BorrowDate = loan.BorrowDate; DateTime tempScheduleReturnDate = loan.ScheduleReturnDate; loanPlusDetails.ScheduleReturnDate = tempScheduleReturnDate.Date; loanPlusDetails.TimesRenewed = loan.TimesRenewed; var bookDetails = _bookRepository.GetBookByIdent(loan.LoanBookIdent); loanPlusDetails.Name = bookDetails.Name; loanPlusDetails.Author = bookDetails.Author; loanPlusDetails.Description = bookDetails.Description; loanPlusDetails.BookCoverThumbnailUrl = bookDetails.BookCoverThumbnailUrl; loansWithDetails.Add(loanPlusDetails); } var returnViewModel = new ReturnViewModel() { LoanReturnList = loansWithDetails, LoanMessage = loanMessage }; return(View(returnViewModel)); }