/// <summary> /// overwritten Query method /// </summary> /// <param name="feedQuery">The FeedQuery to use</param> /// <returns>the retrieved UserFeed</returns> public UserFeed Query(UserQuery feedQuery) { try { Stream feedStream = Query(feedQuery.Uri); UserFeed feed = new UserFeed(feedQuery.Uri, this); feed.Parse(feedStream, AlternativeFormat.Atom); feedStream.Close(); if (feedQuery.RetrieveAllUsers) { AtomLink next, prev = null; while ((next = feed.Links.FindService("next", null)) != null && next != prev) { feedStream = Query(new Uri(next.HRef.ToString())); feed.Parse(feedStream, AlternativeFormat.Atom); feedStream.Close(); prev = next; } } return feed; } catch (GDataRequestException e) { AppsException a = AppsException.ParseAppsException(e); throw (a == null ? e : a); } }
/// <summary> /// Deletes a user account. /// </summary> /// <param name="username">the username whose account you wish to delete</param> public void DeleteUser(string username) { UserQuery query = new UserQuery(domain); query.UserName = username; userAccountService.Delete(query.Uri); }
/// <summary> /// Retrieves the entry for the specified user. /// </summary> /// <param name="username">the username to retrieve</param> /// <returns>the UserEntry for this user</returns> public UserEntry RetrieveUser(string username) { UserQuery query = new UserQuery(domain); query.UserName = username; UserFeed feed = userAccountService.Query(query); // It's safe to access Entries[0] here, because the service will // have already thrown an exception if the username was invalid. return feed.Entries[0] as UserEntry; }
/// <summary> /// Retrieves a page of at most 100 users beginning with the /// specified username. Usernames are ordered case-insensitively /// by ASCII value. /// </summary> /// <param name="startUsername">the first username that should appear /// in your result set</param> /// <returns>the feed containing the matching user account entries</returns> public UserFeed RetrievePageOfUsers(string startUsername) { UserQuery query = new UserQuery(domain); query.StartUserName = startUsername; query.RetrieveAllUsers = false; return userAccountService.Query(query); }
/// <summary> /// Retrieves all user account entries on this domain. /// </summary> /// <returns>the feed containing all user account entries</returns> public UserFeed RetrieveAllUsers() { UserQuery query = new UserQuery(domain); return userAccountService.Query(query); }
/// <summary> /// Creates a new user account. /// </summary> /// <param name="username">the account's username</param> /// <param name="givenName">the user's first (given) name</param> /// <param name="familyName">the user's last (family) name</param> /// <param name="password">the account's password</param> /// <param name="passwordHashFunction">the name of the hash function to hash the password</param> /// <param name="quotaLimitInMb">the account's quota, in MB</param> /// <returns>the newly created UserEntry</returns> public UserEntry CreateUser(string username, string givenName, string familyName, string password, string passwordHashFunction, int quotaLimitInMb) { UserEntry entry = new UserEntry(); entry.Name = new NameElement(familyName, givenName); entry.Login = new LoginElement(username, password, false, false, passwordHashFunction); entry.Quota = new QuotaElement(quotaLimitInMb); UserQuery query = new UserQuery(Domain); return userAccountService.Insert(query.Uri, entry); }
/// <summary> /// Creates a new user account. /// </summary> /// <param name="username">the account's username</param> /// <param name="givenName">the user's first (given) name</param> /// <param name="familyName">the user's last (family) name</param> /// <param name="password">the account's password</param> /// <returns>the newly created UserEntry</returns> public UserEntry CreateUser(string username, string givenName, string familyName, string password) { UserEntry entry = new UserEntry(); entry.Name = new NameElement(familyName, givenName); entry.Login = new LoginElement(username, password, false, false); UserQuery query = new UserQuery(Domain); return userAccountService.Insert(query.Uri, entry); }
/// <summary> /// Retrieves all user account entries on this domain. /// </summary> /// <returns>the feed containing all user account entries</returns> public UserFeed RetrieveAllUsers() { UserQuery query = new UserQuery(domain); return(userAccountService.Query(query)); }
public void Init() { query = new UserQuery("example.com"); }