public async Task <IActionResult> SignIn(LoginModel model) { if (ModelState.IsValid) { try { _accountService.SetCurrentContext(HttpContext, Url); var user = await _userManager.FindByEmailAsync(model.Email); if (await _userManager.UserIdentityExists(user, model.Password, GlobalVariables.CustomerRole)) { if (!user.EmailConfirmed) { return(Unauthorized(new BadResponseResult { message = "email is not confirmed" })); } var response = _accountService.GetSigningInResponseModel(user, GlobalVariables.CustomerRole); _transactionHelper.CommitChanges(); return(Ok(response)); } return(NotFound(new UnauthorizedObjectResult("email or password was invalid"))); } catch (Exception ex) { _transactionHelper.RollBackChanges(); return(BadRequest(ex.Message)); } } return(BadRequest(ModelState)); }