public static ICrmIdentityUser <T> ConvertToIdentityUser <TKey>(Entity entity, Action <ICrmIdentityUser <T>, Entity> PopulateUser = null) where TKey : IEquatable <TKey>
        {
            ICrmIdentityUser <T> user = new CrmIdentityUser <T>()
            {
                EntityName = entity.LogicalName, Key = entity.Id
            };

            FillIdentityUser <T>((ICrmIdentityUser <T>)user, entity, PopulateUser);
            return((ICrmIdentityUser <T>)user);
        }
示例#2
0
 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);
         }
     }));
 }
示例#3
0
 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);
         }
     }));
 }
示例#4
0
        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);
            }));
        }