public async Task <IHttpActionResult> RejectAccount([FromBody] long id) { if (unitOfWork.AccountsForApprove.Find(a => a.Id == id).Count() == 0) { return(BadRequest("Bad request. Id don't exists.")); } AccountForApprove accountForApprove = unitOfWork.AccountsForApprove.Find(a => a.Id == id).First(); RAIdentityUser user = await UserManager.FindByIdAsync(accountForApprove.UserId); SMTPService.SendMail("Account rejected", "Your account is rejected, upload new document image.", user.Email); ImageHelper.DeleteImage(user.DocumentImage); user.DocumentImage = ""; IdentityResult updateUserResult = await UserManager.UpdateAsync(user); if (!updateUserResult.Succeeded) { return(GetErrorResult(updateUserResult)); } try { lock (lockObjectForAccounts) { unitOfWork.AccountsForApprove.Remove(accountForApprove); unitOfWork.Complete(); } } catch (DBConcurrencyException) { return(NotFound()); } return(Ok("Account Successfully rejected.")); }
public async Task <IHttpActionResult> ApproveAccount([FromBody] long id) { if (unitOfWork.AccountsForApprove.Find(a => a.Id == id).Count() == 0) { return(BadRequest("Bad request. Id don't exists.")); } AccountForApprove accountForApprove = unitOfWork.AccountsForApprove.Find(a => a.Id == id).First(); RAIdentityUser user = await UserManager.FindByIdAsync(accountForApprove.UserId); user.IsApproved = true; SMTPService.SendMail("Account approved", "Your account is approved, now you can rent vehicle.", user.Email); IdentityResult updateUserResult = await UserManager.UpdateAsync(user); if (!updateUserResult.Succeeded) { return(GetErrorResult(updateUserResult)); } try { lock (lockObjectForAccounts) { unitOfWork.AccountsForApprove.Remove(accountForApprove); unitOfWork.Complete(); } } catch (DBConcurrencyException) { return(NotFound()); } return(Ok("Account Successfully approved.")); }