public async Task <ForgotPasswordResultModel> ForgotPasswordCodeInput ([FromBody] ForgotPasswordCodeInputModel forgotPasswordCodeInputModel) { try { var forgotPasswordResultModel = new ForgotPasswordResultModel(); if (forgotPasswordCodeInputModel.code == null) { forgotPasswordResultModel.Success = false; forgotPasswordResultModel.ErrorMessage = ErrorMessage.Null.ToString(); return(forgotPasswordResultModel); } var forgotPasswordCodeResult = await _loginManager.ForgotPasswordCodeInput (forgotPasswordCodeInputModel.code, forgotPasswordCodeInputModel.accountId); forgotPasswordResultModel.Success = forgotPasswordCodeResult.WasSuccessful; if (forgotPasswordResultModel.Success) { forgotPasswordResultModel.AccountId = forgotPasswordCodeResult.SuccessValue.Id; } else { forgotPasswordResultModel.ErrorMessage = forgotPasswordCodeResult.ErrorMessage.ToString(); } return(forgotPasswordResultModel); } catch (SqlCustomException) { var forgotPasswordResultModel = new ForgotPasswordResultModel(); forgotPasswordResultModel.Success = false; forgotPasswordResultModel.ErrorMessage = "Failure to verify the code. Try again."; return(forgotPasswordResultModel); } catch (NullReferenceException) { var forgotPasswordResultModel = new ForgotPasswordResultModel(); forgotPasswordResultModel.Success = false; forgotPasswordResultModel.ErrorMessage = "A null was returned when checking the code."; return(forgotPasswordResultModel); } }