public string GenPasswordResetCode(customer_account customer) { var repo = Repo.Instance; using (var db = repo.OpenConnectionFromPool()) { var verificationTokens = repo.GetValidVerificationToken(db, customer.id).Data; if (verificationTokens != null && verificationTokens.Any()) { foreach (var item in verificationTokens) { repo.UpdateVerificationStatus(db, item.customer_account_id, false); } } var verificationToken = new verification_token() { code = Guid.NewGuid().ToString(), customer_account_id = customer.id, is_valid = true }; if (repo.CreateVerificationToken(db, verificationToken)) return verificationToken.code; } return string.Empty; }
public bool CreateVerificationToken(IDbConnection db, verification_token token) { string sqlString = @"INSERT INTO verification_token (customer_account_id, code, is_valid) VALUES (@customer_account_id, @code, @is_valid)"; return 1 == db.Execute(sqlString, new { token.customer_account_id, token.code, token.is_valid }); }