Exemple #1
0
        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());
            }
        }
Exemple #2
0
        public async Task <IActionResult> Create(int id)
        {
            LoanViewModel lvm = _loanService.CreateNewBookLoan(id);

            lvm.LoanedBy = User.Identity.Name;
            return(Ok(lvm));
        }