public static async Task <ResetPasswordResponse> ResetPasswordAsync(string refLink, ResetPasswordRequest resetPasswordRequest) { try { using (var conn = Connection) { DynamicParameters parameters = new DynamicParameters(); parameters.Add("refLink", refLink); parameters.Add("NewPasswordHash", GetHash.HashCode(resetPasswordRequest.NewPassword)); await conn.ExecuteAsync("ResetPasswordProcedure", parameters, commandType : System.Data.CommandType.StoredProcedure); return(new ResetPasswordResponse(true, new List <ServiceResponse> { new ServiceResponse("200", "Your Password was reset successfully", null) })); } } catch (Exception ex) { return(new ResetPasswordResponse(false, new List <ServiceResponse> { new ServiceResponse("400", "Something went wrong", new List <Error> { new Error(ex.GetHashCode().ToString(), ex.Message) }) })); } }
public static async Task <SignupResponse> SignupAsync(SignupRequest signupRequest) { try { if (!await VerifyUsername(signupRequest.Username)) { using (var conn = Connection) { conn.Open(); DynamicParameters parameters = new DynamicParameters(); parameters.Add("UserId", signupRequest.UserId); parameters.Add("Username", signupRequest.Username); parameters.Add("FirstName", signupRequest.FirstName); parameters.Add("LastName", signupRequest.LastName); parameters.Add("Email", signupRequest.EmailAddress); parameters.Add("PasswordHash", GetHash.HashCode(signupRequest.Password)); parameters.Add("Gender", signupRequest.Gender); parameters.Add("BirthDate", signupRequest.BirthDate); parameters.Add("Nationality", signupRequest.Nationality); parameters.Add("PhoneNumber", signupRequest.PhoneNumber); parameters.Add("Location", signupRequest.Location); parameters.Add("PrimaryGenre", signupRequest.PrimaryGenre); parameters.Add("Biography", signupRequest.Biography); parameters.Add("Website", signupRequest.Website); parameters.Add("ProfileImagePath", signupRequest.ProfileImagePath); parameters.Add("CoverImagePath", signupRequest.CoverImagePath); parameters.Add("DateCreated", signupRequest.DateCreated); await conn.ExecuteAsync("SignupProcedure", parameters, commandType : System.Data.CommandType.StoredProcedure); return(new SignupResponse(true, new List <ServiceResponse> { new ServiceResponse("200", "Successful", null) })); } } else { return(new SignupResponse(false, new List <ServiceResponse> { new ServiceResponse("200", "Username already exists", null) })); } } catch (Exception ex) { return(new SignupResponse(false, new List <ServiceResponse> { new ServiceResponse("400", "Error Signing Up", new List <Error>() { new Error(ex.GetHashCode().ToString(), ex.Message) }) })); } }
public static async Task <SigninResponse> SigninAsync(LoginRequest loginRequest) { int AccessCountFailed = 0; string DbUsername = "", DbPasswordhash = "", Message = "LockedOut"; try { using (var conn = Connection) { DynamicParameters parameters = new DynamicParameters(); parameters.Add("Username", loginRequest.Username); System.Data.IDataReader reader = await conn.ExecuteReaderAsync("SigninProcedure", parameters, commandType : System.Data.CommandType.StoredProcedure); while (reader.Read()) { DbUsername = reader["Username"].ToString(); DbPasswordhash = reader["PasswordHash"].ToString(); AccessCountFailed = reader.GetInt32(2); break; } reader.Close(); while (AccessCountFailed < 5) { if ((loginRequest.Username == DbUsername) && (GetHash.HashCode(loginRequest.Password) == DbPasswordhash)) { Message = "true"; } else { //await conn.ExecuteAsync("AccessFailedCountIncrement",parameters, commandType: System.Data.CommandType.StoredProcedure); Message = "false"; } break; } return(new SigninResponse(true, new List <ServiceResponse> { new ServiceResponse("200", Message, null) })); } } catch (Exception ex) { return(new SigninResponse(false, new List <ServiceResponse> { new ServiceResponse("400", "Error Logging In", new List <Error>() { new Error(ex.GetHashCode().ToString(), ex.Message) }) })); } }