Fixed: enable the creation of mulitple organizations

Fixed: Usage reporting hosted organizations
This commit is contained in:
robvde 2012-08-07 19:26:11 +04:00
parent 69e778b2b0
commit 08def1c888
5 changed files with 110 additions and 76 deletions

View file

@ -156,16 +156,44 @@ namespace WebsitePanel.EnterpriseServer
try
{
Organization org = (Organization)PackageController.GetPackageItem(itemId);
if (org == null)
return null;
Organization org = (Organization)PackageController.GetPackageItem(itemId);
if (org == null)
return null;
OrganizationStatistics stats = ObjectUtils.FillObjectFromDataReader<OrganizationStatistics>(
DataProvider.GetExchangeOrganizationStatistics(itemId));
OrganizationStatistics stats = new OrganizationStatistics();
UserInfo user = ObjectUtils.FillObjectFromDataReader<UserInfo>(DataProvider.GetUserByExchangeOrganizationIdInternally(itemId));
List<PackageInfo> Packages = PackageController.GetPackages(user.UserId);
if ((Packages != null) & (Packages.Count > 0))
{
foreach (PackageInfo Package in Packages)
{
List<Organization> orgs = null;
orgs = GetExchangeOrganizations(Package.PackageId, false);
if ((orgs != null) & (orgs.Count > 0))
{
foreach (Organization o in orgs)
{
OrganizationStatistics tempStats = ObjectUtils.FillObjectFromDataReader<OrganizationStatistics>(DataProvider.GetExchangeOrganizationStatistics(o.Id));
stats.CreatedMailboxes += tempStats.CreatedMailboxes;
stats.CreatedContacts += tempStats.CreatedContacts;
stats.CreatedDistributionLists += tempStats.CreatedDistributionLists;
stats.CreatedDomains += tempStats.CreatedDomains;
stats.CreatedPublicFolders += tempStats.CreatedPublicFolders;
stats.UsedDiskSpace += tempStats.UsedDiskSpace;
}
}
}
}
// disk space
//stats.UsedDiskSpace = org.DiskSpace;
// allocated quotas
PackageContext cntx = PackageController.GetPackageContext(org.PackageId);
stats.AllocatedMailboxes = cntx.Quotas[Quotas.EXCHANGE2007_MAILBOXES].QuotaAllocatedValue;