public static List<Group> GetAllGroups(MembershipParameters groupParams) { NameValueCollection parameters = new NameValueCollection(); Yammer.Utility.AddMembershipParams(parameters, groupParams); string response = Yammer.HttpUtility.Get(Resources.YAMMER_GROUP_LIST,parameters); return Group.GetAllGroups(response); }
/// <summary> /// Retrieves list of users in network /// </summary> /// <param name="userParams"></param> /// <returns></returns> public static List<User> GetAllUsers(MembershipParameters userParams) { NameValueCollection parameters = new NameValueCollection(); Yammer.Utility.AddMembershipParams(parameters, userParams); string response = Yammer.HttpUtility.Get(Resources.YAMMER_USERS_ALL, parameters); return User.GetAllUsers(response); }
private void GetUsers() { Dictionary<string, DirectoryInfo> appData = Yammer.Utility.GetAppData(); List<Yammer.User> users = null; string path = appData["data"].FullName + "\\users.yam"; if (System.IO.File.Exists(path)) { XmlSerializer serializer = new XmlSerializer(typeof(List<Yammer.User>)); TextReader reader = new StreamReader(path); users = (List<Yammer.User>)serializer.Deserialize(reader); reader.Close(); } else { MembershipParameters mp1 = new MembershipParameters(); mp1.PageId = 1; users = Yammer.User.GetAllUsers(mp1); if (users.Count > 49) { bool cont = true; int i = 2; while (cont) { MembershipParameters mp = new MembershipParameters(); mp.PageId = i; List<User> userPage = Yammer.User.GetAllUsers(mp); if (userPage.Count > 0) { users.AddRange(userPage.ToArray()); i++; cont = true; } else cont = false; } } TextWriter writer = new StreamWriter(path); XmlSerializer serializer = new XmlSerializer(typeof(List<Yammer.User>)); serializer.Serialize(writer, users); writer.Close(); } this.Cache.Add("users", users, null, DateTime.Now.AddHours(6), System.Web.Caching.Cache.NoSlidingExpiration, CacheItemPriority.Normal, null); }
public static void AddMembershipParams(NameValueCollection parameters, MembershipParameters groupParams) { PropertyInfo[] pic = groupParams.GetType().GetProperties(); foreach (PropertyInfo pi in pic) { object value = pi.GetValue(groupParams, null); bool include = false; if (value != null) { string typeName = value.GetType().Name; switch (typeName) { case "Int32": if ((int)value > 0) include = true; break; case "SortBy": if ((SortBy)value != SortBy.NONE) include = true; break; default: include = true; break; } if (include) { MembershipParameterAttribute name = (MembershipParameterAttribute)MembershipParameterAttribute.GetCustomAttribute(pi, typeof(MembershipParameterAttribute)); parameters.Add(name.Name, pi.GetValue(groupParams, null).ToString()); } } } }