public ActionResult Create() { RenewViewModel viewModel = new RenewViewModel(); viewModel.Date = DateTime.Now; //branch select list items //BranchService branchService = new BranchService(UnitOfWork); viewModel.PawnTicketsSelectListItems = new List <SelectListItem> { new SelectListItem { Text = "PT0001", Value = "1" }, new SelectListItem { Text = "PT0002", Value = "2" }, new SelectListItem { Text = "PT0003", Value = "3" }, new SelectListItem { Text = "PT0004", Value = "4" } }; return(View(viewModel)); }
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 async Task <IActionResult> Renew(string id) { var user = await _userManager.GetUserAsync(HttpContext.User); var member = await _context.ApplicationUser.Include("PersonType").FirstOrDefaultAsync(a => a.Id == id); if (member == null) { return(NotFound()); } var personType = await _context.PersonTypes.FindAsync(member.PersonTypeId); var chapters = await _context.MemberChapters.Where(c => c.ApplicationUserId == id) .Include("Chapter").ToListAsync(); var viewModel = new RenewViewModel { MemberId = member.Id, Name = member.FirstName + " " + member.LastName, Pseudonym = member.Pseudonym, CommonName = member.CommonName, Email = member.Email, PersonTypeName = member.PersonType.Name }; var item = new RenewalItem { Name = "League Membership", WhenExpires = member.WhenExpires, IsRenewal = (member.WhenExpires >= DateTime.Now.AddDays(-1 * member.PersonType.StartSendingRenewalDays) && member.WhenExpires <= DateTime.Now.AddDays(member.PersonType.StopSendingRenewalDays)) ? 1 : 0, Days = DateTime.Now <= member.WhenExpires ? member.WhenExpires.Date.Subtract(DateTime.Now.Date).Days : DateTime.Now.Date.Subtract(member.WhenExpires.Date).Days, DaysText = DateTime.Now <= member.WhenExpires ? member.WhenExpires.Date.Subtract(DateTime.Now.Date).Days.ToString() + " days" : DateTime.Now.Date.Subtract(member.WhenExpires.Date).Days.ToString() + " days ago", NewWhenExpires = member.WhenExpires.AddYears(1), ItemId = 0 }; viewModel.RenewalItems.Add(item); foreach (var chapter in chapters) { item = new RenewalItem { Name = chapter.Chapter.Name, IsPrimary = chapter.IsPrimary, WhenExpires = chapter.WhenExpires.Value, IsRenewal = chapter.WhenExpires >= DateTime.Now.AddDays(-1 * member.PersonType.StartSendingRenewalDays) && chapter.WhenExpires <= DateTime.Now.AddDays(member.PersonType.StopSendingRenewalDays) ? 1 : 0, //IsRenewal = (chapter.WhenExpires >= // DateTime.Now.AddDays(-1 * member.PersonType.StartSendingRenewalDays) && // chapter.WhenExpires <= DateTime.Now.AddDays(member.PersonType.StopSendingRenewalDays)), Days = DateTime.Now <= chapter.WhenExpires ? chapter.WhenExpires.Value.Date.Subtract(DateTime.Now.Date).Days : DateTime.Now.Date.Subtract(chapter.WhenExpires.Value.Date).Days * -1, DaysText = DateTime.Now <= chapter.WhenExpires ? chapter.WhenExpires.Value.Date.Subtract(DateTime.Now.Date).Days.ToString() + " days" : DateTime.Now.Date.Subtract(chapter.WhenExpires.Value.Date).Days.ToString() + " days ago", NewWhenExpires = chapter.WhenExpires.Value.AddYears(1), ItemId = chapter.Id }; viewModel.RenewalItems.Add(item); } return(View(viewModel)); }
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)); }