1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Xml.Linq;
  4. using clempaul.Dreamhost.ResponseData;
  5.  
  6. namespace clempaul.Dreamhost
  7. {
  8.     public class UserRequests
  9.     {
  10.         private DreamhostAPI api;
  11.  
  12.         internal UserRequests(DreamhostAPI api)
  13.         {
  14.             this.api = api;
  15.         }
  16.  
  17.         #region user-list_users
  18.  
  19.         public IEnumerable<User> ListUsers()
  20.         {
  21.             XDocument response = api.SendCommand("user-list_users");
  22.  
  23.             var users = from data in response.Element("dreamhost").Elements("data")
  24.                         select new User
  25.                         {
  26.                             account_id = data.Element("account_id").AsString(),
  27.                             username = data.Element("username").AsString(),
  28.                             type = data.Element("type").AsString(),
  29.                             shell = data.Element("shell").AsString(),
  30.                             home = data.Element("home").AsString(),
  31.                             password = data.Element("password").AsString(),
  32.                             disk_user_mb = data.Element("disk_used_mb").AsDouble(),
  33.                             quota_mb = data.Element("quota_mb").AsDouble(),
  34.                             gecos = data.Element("gecos").AsString(),
  35.                         };
  36.  
  37.             return users;
  38.         }
  39.  
  40.         #endregion
  41.  
  42.         #region user-list_user_no_pw
  43.  
  44.         public IEnumerable<User> ListUsersNoPw()
  45.         {
  46.             XDocument response = api.SendCommand("user-list_users_no_pw");
  47.  
  48.             var users = from data in response.Element("dreamhost").Elements("data")
  49.                         select new User
  50.                         {
  51.                             account_id = data.Element("account_id").AsString(),
  52.                             username = data.Element("username").AsString(),
  53.                             type = data.Element("type").AsString(),
  54.                             shell = data.Element("shell").AsString(),
  55.                             home = data.Element("home").AsString(),
  56.                             disk_user_mb = data.Element("disk_used_mb").AsDouble(),
  57.                             quota_mb = data.Element("quota_mb").AsDouble(),
  58.                             gecos = data.Element("gecos").AsString(),
  59.                         };
  60.  
  61.             return users;
  62.         }
  63.  
  64.         #endregion
  65.     }
  66. }
  67.