public async Task <AccountResult> ApproveRejectRequest(RequestRejectViewModel reqRejViewModel) { var resultMessage = new AccountResult(); SendEmail newMail = new SendEmail(); SendEmailViewModel sendEmail = new SendEmailViewModel() { requestorEmail = reqRejViewModel.emailAddress, requestorName = reqRejViewModel.name }; var book = await _dataContext.Books.FindAsync(reqRejViewModel.id); if (book.isRequested == false) { throw new RestException(HttpStatusCode.NotFound, new { book = "This Book is Requested Yet" }); } if (reqRejViewModel.approveOrReject == "approve") { book.issuedOn = DateTime.Now; book.returnDate = book.issuedOn.Value.AddDays(reqRejViewModel.returnDate); book.issuedBy = book.requestedBy; book.isRequested = false; book.isAvailable = false; book.isTaken = true; book.issuedBy = book.requestedBy; book.requestedBy = null; sendEmail.subject = "Book Request Accepted /n"; sendEmail.Message = sendEmail.requestorName + " , Your request for the book " + reqRejViewModel.bookName + "is Approved" + "The Submission Deadline for the Book is " + book.returnDate; } else { book.issuedOn = null; book.returnDate = null; book.issuedBy = null; book.isRequested = false; book.isAvailable = true; book.isTaken = false; book.issuedBy = null; book.requestedBy = null; sendEmail.subject = "Book Request Rejected"; sendEmail.Message = sendEmail.requestorName + " , Your request for the book " + reqRejViewModel.bookName + "is Rejected"; } var success = _dataContext.SaveChanges() > 0; try { newMail.SendMail(sendEmail); } catch (Exception ex) { throw new Exception(ex.ToString()); } if (success) { return(resultMessage); } throw new Exception("Problem Saving Changes"); }
public async Task <ActionResult> ApproveRejectRequest(RequestRejectViewModel reqRejViewModel) { await _bookStatus.ApproveRejectRequest(reqRejViewModel); return(Ok()); }