public Task <T> FindByNameAsync(string userName) { return(Task.Factory.StartNew <T>(() => { EntityCollection col = XrmCore.RetrieveByAttribute("appl_webuser", "appl_username", userName); if (col.Entities.Count > 0) { return (T)CrmIdentityUser <S> .ConvertToIdentityUser <S>(col.Entities.First()); } else { return default(T); } })); }
public Task <T> FindAsync(UserLoginInfo login) { return(Task.Factory.StartNew <T>(() => { Entity result = XrmCore.GetWebUserFromLogin(login.LoginProvider, login.ProviderKey); if (result != null) { return (T)CrmIdentityUser <S> .ConvertToIdentityUser <S>(result); } else { return default(T); } })); }
public Task <T> FindByIdAsync(S userId) { return(Task.Factory.StartNew <T>(() => { Entity e = null; if (typeof(S) == typeof(Guid) || typeof(S) == typeof(string)) { e = XrmCore.Retrieve("appl_webuser", Guid.Parse(Convert.ToString(userId))); } else if (typeof(S) == typeof(int)) { EntityCollection col = XrmCore.RetrieveByAttribute("appl_webuser", "appl_userid", Convert.ToString(userId), CacheResults: false); e = col.Entities.FirstOrDefault(); } return e == null ? default(T): (T)CrmIdentityUser <S> .ConvertToIdentityUser <S>(e); })); }