Skip to content

Commit 2d9d565

Browse files
author
Chen
committed
Implement two query, remove those NotImplementedException
1 parent 377ed7d commit 2d9d565

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

Src/AspNet.Identity.Oracle/UserStore.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,12 @@ public Task<bool> IsInRoleAsync(TUser user, string role)
378378
/// <returns></returns>
379379
public Task RemoveFromRoleAsync(TUser user, string role)
380380
{
381-
throw new NotImplementedException();
381+
int roles = 0;
382+
if (user != null)
383+
{
384+
roles = userRolesTable.Delete(user.Id);
385+
}
386+
return Task.FromResult(roles);
382387
}
383388

384389
/// <summary>

Src/AspNet.Identity.Oracle/UserTable.cs

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,30 @@ public List<TUser> GetUserByName(string userName)
132132
public List<TUser> GetUserByEmail(string email)
133133
{
134134
var users = new List<TUser>();
135-
// throw new NotImplementedException();
135+
const string commandText = @"SELECT * FROM ANID2USERS WHERE EMAIL = :EMAIL";
136+
var parameters = new List<OracleParameter>
137+
{
138+
new OracleParameter{ ParameterName = "EMAIL", Value = email, OracleDbType = OracleDbType.Varchar2}
139+
};
140+
141+
var rows = _database.Query(commandText, parameters);
142+
foreach (var row in rows)
143+
{
144+
var user = (TUser)Activator.CreateInstance(typeof(TUser));
145+
user.Id = row["ID"];
146+
user.UserName = row["USERNAME"];
147+
user.PasswordHash = string.IsNullOrEmpty(row["PASSWORDHASH"]) ? null : row["PASSWORDHASH"];
148+
user.SecurityStamp = string.IsNullOrEmpty(row["SECURITYSTAMP"]) ? null : row["SECURITYSTAMP"];
149+
user.Email = string.IsNullOrEmpty(row["EMAIL"]) ? null : row["EMAIL"];
150+
user.EmailConfirmed = (row["EMAILCONFIRMED"] == "1");
151+
user.PhoneNumber = string.IsNullOrEmpty(row["PHONENUMBER"]) ? null : row["PHONENUMBER"];
152+
user.PhoneNumberConfirmed = (row["PHONENUMBERCONFIRMED"] == "1");
153+
user.LockoutEnabled = (row["LOCKOUTENABLED"] == "1");
154+
user.LockoutEndDateUtc = string.IsNullOrEmpty(row["LOCKOUTENDDATEUTC"]) ? DateTime.Now : DateTime.Parse(row["LOCKOUTENDDATEUTC"]);
155+
user.AccessFailedCount = string.IsNullOrEmpty(row["ACCESSFAILEDCOUNT"]) ? 0 : int.Parse(row["ACCESSFAILEDCOUNT"]);
156+
user.TwoFactorEnabled = (row["TWOFACTORENABLED"] == "1");
157+
users.Add(user);
158+
}
136159
return users;
137160
}
138161

0 commit comments

Comments
 (0)