public async Task <IActionResult> Create(int id) { // use imperative authorisation to check no outstanding overdue loans. if ((await _authorizationService .AuthorizeAsync(User, _reportService, new BookLoanRequirement())).Succeeded) { BookViewModel bookView = await _bookService.GetBook(id); if ((await _authorizationService .AuthorizeAsync(User, bookView, new MinimumAgeRequirement(18))).Succeeded) { LoanViewModel lvm = _loanService.CreateNewBookLoan(id); lvm.LoanedBy = User.Identity.Name; BookLoan.Views.Loan.CreateModel createModel = new CreateModel(_context); createModel.LoanViewModel = lvm; createModel.LoanViewModel.Book = bookView; return(View(createModel)); } else { return(new ChallengeResult()); } } else { return(new ChallengeResult()); } }
public async Task <IActionResult> Create(int id) { LoanViewModel lvm = _loanService.CreateNewBookLoan(id); lvm.LoanedBy = User.Identity.Name; return(Ok(lvm)); }