public async Task <ForgotPasswordResultModel> ForgotPasswordValidation ([FromBody] ForgotInformationModel forgotInformationModel) { try { var forgotPasswordResultModel = new ForgotPasswordResultModel(); if (forgotInformationModel.emailAddress == null || forgotInformationModel.username == null || forgotInformationModel.dateOfBirth == null) { forgotPasswordResultModel.Success = false; forgotPasswordResultModel.ErrorMessage = ErrorMessage.Null.ToString(); return(forgotPasswordResultModel); } var forgotPasswordResult = await _loginManager.ForgotPasswordValidation (forgotInformationModel.username, forgotInformationModel.emailAddress, DateTimeOffset.Parse(forgotInformationModel.dateOfBirth)); forgotPasswordResultModel.Success = forgotPasswordResult.WasSuccessful; if (forgotPasswordResultModel.Success) { forgotPasswordResultModel.AccountId = forgotPasswordResult.SuccessValue.Id; } else { forgotPasswordResultModel.ErrorMessage = forgotPasswordResult.ErrorMessage.ToString(); } return(forgotPasswordResultModel); } catch (SqlCustomException) { var forgotPasswordResultModel = new ForgotPasswordResultModel(); forgotPasswordResultModel.Success = false; forgotPasswordResultModel.ErrorMessage = "Could not verify the information given. Try again."; return(forgotPasswordResultModel); } catch (NullReferenceException) { var forgotPasswordResultModel = new ForgotPasswordResultModel(); forgotPasswordResultModel.Success = false; forgotPasswordResultModel.ErrorMessage = "A null was returned when checking the inputs."; return(forgotPasswordResultModel); } }