performance enhancements to the control "MailboxSelector" and "UserSelector"
This commit is contained in:
parent
b0e0df1c12
commit
474fb3ebbe
4 changed files with 35 additions and 1 deletions
|
@ -188,6 +188,22 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
// get type properties
|
// get type properties
|
||||||
PropertyInfo[] props = GetTypeProperties(type);
|
PropertyInfo[] props = GetTypeProperties(type);
|
||||||
|
|
||||||
|
// leave only a property from the DataReader
|
||||||
|
DataTable readerSchema = reader.GetSchemaTable();
|
||||||
|
if (readerSchema != null)
|
||||||
|
{
|
||||||
|
List<PropertyInfo> propslist = new List<PropertyInfo>();
|
||||||
|
foreach (DataRow field in readerSchema.Rows)
|
||||||
|
{
|
||||||
|
string columnName = System.Convert.ToString(field["ColumnName"]);
|
||||||
|
|
||||||
|
foreach (PropertyInfo prop in props)
|
||||||
|
if (columnName.ToLower() == prop.Name.ToLower())
|
||||||
|
propslist.Add(prop);
|
||||||
|
}
|
||||||
|
props = propslist.ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
// iterate through reader
|
// iterate through reader
|
||||||
while (reader.Read())
|
while (reader.Read())
|
||||||
{
|
{
|
||||||
|
|
|
@ -2034,6 +2034,10 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
DataProvider.SearchOrganizationAccounts(SecurityContext.User.UserId, itemId,
|
DataProvider.SearchOrganizationAccounts(SecurityContext.User.UserId, itemId,
|
||||||
filterColumn, filterValue, sortColumn, includeMailboxes));
|
filterColumn, filterValue, sortColumn, includeMailboxes));
|
||||||
|
|
||||||
|
return Tmpaccounts;
|
||||||
|
|
||||||
|
// on large lists is very slow
|
||||||
|
/*
|
||||||
List<OrganizationUser> Accounts = new List<OrganizationUser>();
|
List<OrganizationUser> Accounts = new List<OrganizationUser>();
|
||||||
|
|
||||||
foreach (OrganizationUser user in Tmpaccounts.ToArray())
|
foreach (OrganizationUser user in Tmpaccounts.ToArray())
|
||||||
|
@ -2042,6 +2046,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
return Accounts;
|
return Accounts;
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int GetAccountIdByUserPrincipalName(int itemId, string userPrincipalName)
|
public static int GetAccountIdByUserPrincipalName(int itemId, string userPrincipalName)
|
||||||
|
|
|
@ -104,6 +104,10 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
||||||
chkIncludeLists.Visible = DistributionListsEnabled;
|
chkIncludeLists.Visible = DistributionListsEnabled;
|
||||||
chkIncludeLists.Checked = DistributionListsEnabled;
|
chkIncludeLists.Checked = DistributionListsEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// increase timeout
|
||||||
|
ScriptManager scriptMngr = ScriptManager.GetCurrent(this.Page);
|
||||||
|
scriptMngr.AsyncPostBackTimeout = 300;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BindSelectedAccount(ExchangeAccount account)
|
private void BindSelectedAccount(ExchangeAccount account)
|
||||||
|
|
|
@ -151,7 +151,9 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
||||||
|
|
||||||
protected void Page_Load(object sender, EventArgs e)
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
// increase timeout
|
||||||
|
ScriptManager scriptMngr = ScriptManager.GetCurrent(this.Page);
|
||||||
|
scriptMngr.AsyncPostBackTimeout = 300;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BindSelectedAccount(OrganizationUser account)
|
private void BindSelectedAccount(OrganizationUser account)
|
||||||
|
@ -288,6 +290,8 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
||||||
if (e.CommandName == "SelectAccount")
|
if (e.CommandName == "SelectAccount")
|
||||||
{
|
{
|
||||||
string[] parts = e.CommandArgument.ToString().Split('|');
|
string[] parts = e.CommandArgument.ToString().Split('|');
|
||||||
|
|
||||||
|
/*
|
||||||
OrganizationUser account = new OrganizationUser();
|
OrganizationUser account = new OrganizationUser();
|
||||||
account.AccountName = parts[0];
|
account.AccountName = parts[0];
|
||||||
account.DisplayName = parts[1];
|
account.DisplayName = parts[1];
|
||||||
|
@ -295,6 +299,11 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
||||||
account.AccountId = Utils.ParseInt(parts[3]);
|
account.AccountId = Utils.ParseInt(parts[3]);
|
||||||
account.SamAccountName = parts[4];
|
account.SamAccountName = parts[4];
|
||||||
account.SubscriberNumber = parts[5];
|
account.SubscriberNumber = parts[5];
|
||||||
|
*/
|
||||||
|
|
||||||
|
int AccountId = Utils.ParseInt(parts[3]);
|
||||||
|
|
||||||
|
OrganizationUser account = ES.Services.Organizations.GetUserGeneralSettings(PanelRequest.ItemID, AccountId);
|
||||||
|
|
||||||
// set account
|
// set account
|
||||||
BindSelectedAccount(account);
|
BindSelectedAccount(account);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue