public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
        {
            if (value != default(Dynamics365User))
            {
                Dynamics365User user = (Dynamics365User)value;
                return(string.Format("{0} ({1})", user.Name, user.ID.ToString()));
            }

            return(base.ConvertTo(context, culture, value, destinationType));
        }
Esempio n. 2
0
 /// <summary>
 /// Compares the object with another UserInfo objects.
 /// </summary>
 /// <param name="other">The other UserInfo object to compare to.</param>
 /// <returns>The comparison result.</returns>
 public int CompareTo(Dynamics365User other)
 {
     if (other == null)
     {
         return(1);
     }
     else
     {
         return(Name.CompareTo(other.Name));
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Gets a list of Dynamics 365 users.
        /// </summary>
        /// <returns>A list of DynamcisCrmUser objects.</returns>
        public List <Dynamics365User> GetUsers()
        {
            List <Dynamics365User> users = new List <Dynamics365User>();

            try
            {
                users.AddRange(Dynamics365User.GetUsers(Connection).ToList());
            }
            catch { }

            return(users);
        }
Esempio n. 4
0
        public static List <Dynamics365User> GetUsers(Dynamics365Connection connection)
        {
            ConnectionCache        cache    = new ConnectionCache(connection);
            string                 cacheKey = "GetUsers";
            List <Dynamics365User> users    = (List <Dynamics365User>)cache[cacheKey];

            if (users == null)
            {
                users = new List <Dynamics365User>();
                QueryExpression userQuery = new QueryExpression("systemuser")
                {
                    ColumnSet = new ColumnSet(true)
                };
                RetrieveMultipleRequest userRequest = new RetrieveMultipleRequest()
                {
                    Query = userQuery
                };

                using (OrganizationServiceProxy proxy = (connection).OrganizationServiceProxy)
                {
                    RetrieveMultipleResponse formResponse = (RetrieveMultipleResponse)proxy.Execute(userRequest);

                    foreach (Entity userMetadata in formResponse.EntityCollection.Entities)
                    {
                        Dynamics365User user = new Dynamics365User()
                        {
                            ID   = userMetadata.Id,
                            Name = userMetadata.Attributes["fullname"].ToString()
                        };
                        users.Add(user);
                    }

                    users.Sort((user1, user2) => user1.Name.CompareTo(user2.Name));
                }

                cache[cacheKey] = users;
            }

            return(users);
        }