public Message GetCollection(int current_page, int per_page, bool vpn_only, string ou) { try { current_page = current_page < 1 ? 1 : current_page; per_page = per_page < 1 ? 10 : per_page; ExchangeUserShorter users = new ExchangeUserShorter(); string result = ExchangeRepo.GetUser("", current_page, per_page, vpn_only, HttpUtility.UrlDecode(ou)); users = XmlSerializationHelper.Deserialize<ExchangeUserShorter>(result); return MessageBuilder.CreateResponseMessage(users); } catch (Exception e) { string message = ""; while (e != null) { message += e.Message; e = e.InnerException; } return MessageBuilder.CreateResponseMessage(message); } }
/// <summary> /// Method uses PowerShellSnapIn "Microsoft.Exchange.Management.PowerShell.Admin" to get user mailbox using CMDLET Get-Mailbox /// </summary> /// <param name="identity">User login name</param> /// <param name="current_page">Current Page to return</param> /// <param name="per_page">Entries to return per page</param> /// <param name="vpn_only">Return only VPN users, default is false</param> /// <returns>String, ExchangeUser XML serialized</returns> public string GetUser(string identity, int current_page = 1, int per_page = 10, bool vpn_only = false, string ou = "") { List<ExchangeUser> users = new List<ExchangeUser>(); ExchangeUserShorter shorty = new ExchangeUserShorter() { CurrentPage = current_page, PerPage = per_page }; int total_entries; try { users = GetUsers(out total_entries, identity:identity, displayName:"", current_page:current_page, per_page:per_page, vpn_only:vpn_only, ou:ou); shorty.users = users; shorty.TotalEntries = total_entries; } catch (Exception e) { return e.Message; } if (users.Count == 0){ return XmlSerializationHelper.Serialize(shorty); }else if (identity.Trim() == ""){ return XmlSerializationHelper.Serialize(shorty);// +"THEWORLDSLARGESTSEPERATOR" + total_entries.ToString(); }else{ return XmlSerializationHelper.Serialize(users[0]); } }