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)); }
/// <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)); } }
/// <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); }
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); }