merge commit
This commit is contained in:
commit
65594c80cc
7 changed files with 124 additions and 109 deletions
|
@ -92,7 +92,10 @@ namespace WebsitePanel.Import.CsvBulk
|
|||
private int PagerIndex = -1;
|
||||
private int WebPageIndex = -1;
|
||||
private int NotesIndex = -1;
|
||||
private int PlanIndex = -1;
|
||||
|
||||
private int defaultPlanId = -1;
|
||||
private Dictionary<string, int> planName2Id = new Dictionary<string,int>();
|
||||
|
||||
public ExchangeImport()
|
||||
{
|
||||
|
@ -184,6 +187,8 @@ namespace WebsitePanel.Import.CsvBulk
|
|||
}
|
||||
index = 0;
|
||||
|
||||
GetMailboxPlans(orgId);
|
||||
|
||||
using (StreamReader sr = new StreamReader(inputFile))
|
||||
{
|
||||
string line;
|
||||
|
@ -210,6 +215,22 @@ namespace WebsitePanel.Import.CsvBulk
|
|||
}
|
||||
}
|
||||
|
||||
private void GetMailboxPlans(int orgId)
|
||||
{
|
||||
ExchangeMailboxPlan[] plans = ES.Services.ExchangeServer.GetExchangeMailboxPlans(orgId);
|
||||
foreach (ExchangeMailboxPlan plan in plans)
|
||||
{
|
||||
if (!planName2Id.ContainsKey(plan.MailboxPlan))
|
||||
{
|
||||
planName2Id.Add(plan.MailboxPlan, plan.MailboxPlanId);
|
||||
}
|
||||
if (plan.IsDefault)
|
||||
{
|
||||
defaultPlanId = plan.MailboxPlanId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowSummary()
|
||||
{
|
||||
Log.WriteLine(string.Format("{0} line(s) processed", index));
|
||||
|
@ -286,7 +307,9 @@ namespace WebsitePanel.Import.CsvBulk
|
|||
WebPageIndex = i;
|
||||
else if (StringEquals(cells[i], "Notes"))
|
||||
NotesIndex = i;
|
||||
}
|
||||
else if (StringEquals(cells[i], "Mailbox Plan"))
|
||||
PlanIndex = i;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//check csv structure
|
||||
|
@ -430,6 +453,29 @@ namespace WebsitePanel.Import.CsvBulk
|
|||
string webPage = cells[WebPageIndex];
|
||||
string notes = cells[NotesIndex];
|
||||
|
||||
int planId;
|
||||
// do we have plan-column?
|
||||
if (PlanIndex > -1)
|
||||
{
|
||||
string planName = cells[PlanIndex];
|
||||
if (!planName2Id.TryGetValue(planName, out planId))
|
||||
{
|
||||
Log.WriteInfo(String.Format("Warning at line {0}: Plan named {1} does not exist!", index + 1, planName));
|
||||
// fall back to default plan
|
||||
planId = defaultPlanId;
|
||||
}
|
||||
}
|
||||
// or not?
|
||||
else
|
||||
{
|
||||
// fall back to default plan
|
||||
planId = defaultPlanId;
|
||||
}
|
||||
if (planId < 0)
|
||||
{
|
||||
Log.WriteError(string.Format("Error at line {0}: No valid plan name and/or no valid default plan", index + 1));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -480,7 +526,7 @@ namespace WebsitePanel.Import.CsvBulk
|
|||
//create mailbox using web service
|
||||
if (!CreateMailbox(index, orgId, displayName, emailAddress, password, firstName, middleName, lastName,
|
||||
address, city, state, zip, country, jobTitle, company, department, office,
|
||||
businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes))
|
||||
businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, planId))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -517,7 +563,7 @@ namespace WebsitePanel.Import.CsvBulk
|
|||
/// </summary>
|
||||
private bool CreateMailbox(int index, int orgId, string displayName, string emailAddress, string password, string firstName, string middleName, string lastName,
|
||||
string address, string city, string state, string zip, string country, string jobTitle, string company, string department, string office,
|
||||
string businessPhone, string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes)
|
||||
string businessPhone, string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes, int planId)
|
||||
{
|
||||
bool ret = false;
|
||||
try
|
||||
|
@ -528,7 +574,7 @@ namespace WebsitePanel.Import.CsvBulk
|
|||
//create mailbox
|
||||
//ES.Services.ExchangeServer.
|
||||
string accountName = string.Empty;
|
||||
int accountId = ES.Services.ExchangeServer.CreateMailbox(orgId, 0, ExchangeAccountType.Mailbox, accountName, displayName, name, domain, password, false, string.Empty, 0, string.Empty);
|
||||
int accountId = ES.Services.ExchangeServer.CreateMailbox(orgId, 0, ExchangeAccountType.Mailbox, accountName, displayName, name, domain, password, false, string.Empty, planId, string.Empty);
|
||||
if (accountId < 0)
|
||||
{
|
||||
string errorMessage = GetErrorMessage(accountId);
|
||||
|
@ -557,7 +603,6 @@ namespace WebsitePanel.Import.CsvBulk
|
|||
mailbox.WebPage = webPage;
|
||||
mailbox.Notes = notes;
|
||||
|
||||
|
||||
//update mailbox
|
||||
/*
|
||||
ES.Services.ExchangeServer.SetMailboxGeneralSettings(orgId, accountId, mailbox.DisplayName,
|
||||
|
|
|
@ -310,25 +310,25 @@ namespace WebsitePanel.EnterpriseServer
|
|||
// error while creating mail account
|
||||
throw new Exception("Could not create mail account", ex);
|
||||
}
|
||||
}
|
||||
|
||||
// Instant Alias / Temporary URL
|
||||
if (tempDomain && (domainId > 0))
|
||||
// Instant Alias / Temporary URL
|
||||
if (tempDomain && (domainId > 0))
|
||||
{
|
||||
int instantAliasId = ServerController.CreateDomainInstantAlias("", domainId);
|
||||
if (instantAliasId < 0)
|
||||
{
|
||||
int instantAliasId = ServerController.CreateDomainInstantAlias("", domainId);
|
||||
if (instantAliasId < 0)
|
||||
{
|
||||
// rollback wizard
|
||||
Rollback();
|
||||
// rollback wizard
|
||||
Rollback();
|
||||
|
||||
return instantAliasId;
|
||||
}
|
||||
return instantAliasId;
|
||||
}
|
||||
}
|
||||
|
||||
// Domain DNS Zone
|
||||
if (createZoneRecord && (domainId > 0))
|
||||
{
|
||||
ServerController.EnableDomainDns(domainId);
|
||||
}
|
||||
// Domain DNS Zone
|
||||
if (createZoneRecord && (domainId > 0))
|
||||
{
|
||||
ServerController.EnableDomainDns(domainId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -200,29 +200,23 @@ namespace WebsitePanel.Providers.Mail
|
|||
{
|
||||
try
|
||||
{
|
||||
svcUserAdmin users = new svcUserAdmin();
|
||||
PrepareProxy(users);
|
||||
|
||||
// get mailbox size
|
||||
string name = item.Name;
|
||||
StatInfoResult userStats = users.GetUserStats(AdminUsername, AdminPassword, item.Name, DateTime.Now, DateTime.Now);
|
||||
if (!userStats.Result)
|
||||
{
|
||||
throw new Exception(userStats.Message);
|
||||
}
|
||||
|
||||
// try to get SmarterMail postoffices path
|
||||
string poPath = DomainsPath;
|
||||
if (poPath == null)
|
||||
continue;
|
||||
|
||||
string mailboxName = name.Substring(0, name.IndexOf("@"));
|
||||
string domainName = name.Substring(name.IndexOf("@") + 1);
|
||||
|
||||
string mailboxPath = Path.Combine(DomainsPath, String.Format("{0}\\Users\\{1}", domainName, mailboxName));
|
||||
|
||||
Log.WriteStart(String.Format("Calculating '{0}' folder size", mailboxPath));
|
||||
|
||||
// calculate disk space
|
||||
ServiceProviderItemDiskSpace diskspace = new ServiceProviderItemDiskSpace();
|
||||
diskspace.ItemId = item.Id;
|
||||
//diskspace.DiskSpace = 0;
|
||||
diskspace.DiskSpace = FileUtils.CalculateFolderSize(mailboxPath);
|
||||
itemsDiskspace.Add(diskspace);
|
||||
Log.WriteEnd(String.Format("Calculating '{0}' folder size", mailboxPath));
|
||||
Log.WriteStart(String.Format("Calculating mail account '{0}' size", item.Name));
|
||||
// calculate disk space
|
||||
ServiceProviderItemDiskSpace diskspace = new ServiceProviderItemDiskSpace();
|
||||
diskspace.ItemId = item.Id;
|
||||
//diskspace.DiskSpace = 0;
|
||||
diskspace.DiskSpace = userStats.BytesSize;
|
||||
itemsDiskspace.Add(diskspace);
|
||||
Log.WriteEnd(String.Format("Calculating mail account '{0}' size", item.Name));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
@ -1570,29 +1570,23 @@ namespace WebsitePanel.Providers.Mail
|
|||
{
|
||||
try
|
||||
{
|
||||
svcUserAdmin users = new svcUserAdmin();
|
||||
PrepareProxy(users);
|
||||
|
||||
// get mailbox size
|
||||
string name = item.Name;
|
||||
|
||||
// try to get SmarterMail postoffices path
|
||||
string poPath = DomainsPath;
|
||||
if (poPath == null)
|
||||
continue;
|
||||
|
||||
string mailboxName = name.Substring(0, name.IndexOf("@"));
|
||||
string domainName = name.Substring(name.IndexOf("@") + 1);
|
||||
|
||||
string mailboxPath = Path.Combine(DomainsPath, String.Format("{0}\\Users\\{1}", domainName, mailboxName));
|
||||
|
||||
Log.WriteStart(String.Format("Calculating '{0}' folder size", mailboxPath));
|
||||
StatInfoResult userStats = users.GetUserStats(AdminUsername, AdminPassword, item.Name, DateTime.Now, DateTime.Now);
|
||||
if (!userStats.Result)
|
||||
{
|
||||
throw new Exception(userStats.Message);
|
||||
}
|
||||
|
||||
Log.WriteStart(String.Format("Calculating mail account '{0}' size", item.Name));
|
||||
// calculate disk space
|
||||
ServiceProviderItemDiskSpace diskspace = new ServiceProviderItemDiskSpace();
|
||||
diskspace.ItemId = item.Id;
|
||||
//diskspace.DiskSpace = 0;
|
||||
diskspace.DiskSpace = FileUtils.CalculateFolderSize(mailboxPath);
|
||||
diskspace.DiskSpace = userStats.BytesSize;
|
||||
itemsDiskspace.Add(diskspace);
|
||||
Log.WriteEnd(String.Format("Calculating '{0}' folder size", mailboxPath));
|
||||
Log.WriteEnd(String.Format("Calculating mail account '{0}' size", item.Name));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
@ -200,29 +200,23 @@ namespace WebsitePanel.Providers.Mail
|
|||
{
|
||||
try
|
||||
{
|
||||
svcUserAdmin users = new svcUserAdmin();
|
||||
PrepareProxy(users);
|
||||
|
||||
// get mailbox size
|
||||
string name = item.Name;
|
||||
|
||||
// try to get SmarterMail postoffices path
|
||||
string poPath = DomainsPath;
|
||||
if (poPath == null)
|
||||
continue;
|
||||
|
||||
string mailboxName = name.Substring(0, name.IndexOf("@"));
|
||||
string domainName = name.Substring(name.IndexOf("@") + 1);
|
||||
|
||||
string mailboxPath = Path.Combine(DomainsPath, String.Format("{0}\\Users\\{1}", domainName, mailboxName));
|
||||
|
||||
Log.WriteStart(String.Format("Calculating '{0}' folder size", mailboxPath));
|
||||
StatInfoResult userStats = users.GetUserStats(AdminUsername, AdminPassword, item.Name, DateTime.Now, DateTime.Now);
|
||||
if (!userStats.Result)
|
||||
{
|
||||
throw new Exception(userStats.Message);
|
||||
}
|
||||
|
||||
Log.WriteStart(String.Format("Calculating mail account '{0}' size", item.Name));
|
||||
// calculate disk space
|
||||
ServiceProviderItemDiskSpace diskspace = new ServiceProviderItemDiskSpace();
|
||||
diskspace.ItemId = item.Id;
|
||||
//diskspace.DiskSpace = 0;
|
||||
diskspace.DiskSpace = FileUtils.CalculateFolderSize(mailboxPath);
|
||||
diskspace.DiskSpace = userStats.BytesSize;
|
||||
itemsDiskspace.Add(diskspace);
|
||||
Log.WriteEnd(String.Format("Calculating '{0}' folder size", mailboxPath));
|
||||
Log.WriteEnd(String.Format("Calculating mail account '{0}' size", item.Name));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
@ -200,29 +200,23 @@ namespace WebsitePanel.Providers.Mail
|
|||
{
|
||||
try
|
||||
{
|
||||
svcUserAdmin users = new svcUserAdmin();
|
||||
PrepareProxy(users);
|
||||
|
||||
// get mailbox size
|
||||
string name = item.Name;
|
||||
StatInfoResult userStats = users.GetUserStats(AdminUsername, AdminPassword, item.Name, DateTime.Now, DateTime.Now);
|
||||
if (!userStats.Result)
|
||||
{
|
||||
throw new Exception(userStats.Message);
|
||||
}
|
||||
|
||||
// try to get SmarterMail postoffices path
|
||||
string poPath = DomainsPath;
|
||||
if (poPath == null)
|
||||
continue;
|
||||
|
||||
string mailboxName = name.Substring(0, name.IndexOf("@"));
|
||||
string domainName = name.Substring(name.IndexOf("@") + 1);
|
||||
|
||||
string mailboxPath = Path.Combine(DomainsPath, String.Format("{0}\\Users\\{1}", domainName, mailboxName));
|
||||
|
||||
Log.WriteStart(String.Format("Calculating '{0}' folder size", mailboxPath));
|
||||
|
||||
// calculate disk space
|
||||
ServiceProviderItemDiskSpace diskspace = new ServiceProviderItemDiskSpace();
|
||||
diskspace.ItemId = item.Id;
|
||||
//diskspace.DiskSpace = 0;
|
||||
diskspace.DiskSpace = FileUtils.CalculateFolderSize(mailboxPath);
|
||||
itemsDiskspace.Add(diskspace);
|
||||
Log.WriteEnd(String.Format("Calculating '{0}' folder size", mailboxPath));
|
||||
Log.WriteStart(String.Format("Calculating mail account '{0}' size", item.Name));
|
||||
// calculate disk space
|
||||
ServiceProviderItemDiskSpace diskspace = new ServiceProviderItemDiskSpace();
|
||||
diskspace.ItemId = item.Id;
|
||||
//diskspace.DiskSpace = 0;
|
||||
diskspace.DiskSpace = userStats.BytesSize;
|
||||
itemsDiskspace.Add(diskspace);
|
||||
Log.WriteEnd(String.Format("Calculating mail account '{0}' size", item.Name));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
@ -200,29 +200,23 @@ namespace WebsitePanel.Providers.Mail
|
|||
{
|
||||
try
|
||||
{
|
||||
svcUserAdmin users = new svcUserAdmin();
|
||||
PrepareProxy(users);
|
||||
|
||||
// get mailbox size
|
||||
string name = item.Name;
|
||||
|
||||
// try to get SmarterMail postoffices path
|
||||
string poPath = DomainsPath;
|
||||
if (poPath == null)
|
||||
continue;
|
||||
|
||||
string mailboxName = name.Substring(0, name.IndexOf("@"));
|
||||
string domainName = name.Substring(name.IndexOf("@") + 1);
|
||||
|
||||
string mailboxPath = Path.Combine(DomainsPath, String.Format("{0}\\Users\\{1}", domainName, mailboxName));
|
||||
|
||||
Log.WriteStart(String.Format("Calculating '{0}' folder size", mailboxPath));
|
||||
StatInfoResult userStats = users.GetUserStats(AdminUsername, AdminPassword, item.Name, DateTime.Now, DateTime.Now);
|
||||
if (!userStats.Result)
|
||||
{
|
||||
throw new Exception(userStats.Message);
|
||||
}
|
||||
|
||||
Log.WriteStart(String.Format("Calculating mail account '{0}' size", item.Name));
|
||||
// calculate disk space
|
||||
ServiceProviderItemDiskSpace diskspace = new ServiceProviderItemDiskSpace();
|
||||
diskspace.ItemId = item.Id;
|
||||
//diskspace.DiskSpace = 0;
|
||||
diskspace.DiskSpace = FileUtils.CalculateFolderSize(mailboxPath);
|
||||
diskspace.DiskSpace = userStats.BytesSize;
|
||||
itemsDiskspace.Add(diskspace);
|
||||
Log.WriteEnd(String.Format("Calculating '{0}' folder size", mailboxPath));
|
||||
Log.WriteEnd(String.Format("Calculating mail account '{0}' size", item.Name));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue