public IPhysicalMailbox ToPhysicalMailbox()
        {
            MailboxMiscFlags           propertyValue       = this.GetPropertyValue <MailboxMiscFlags>(MailboxTablePropertyDefinitions.MailboxMiscFlags);
            Guid                       propertyValue2      = this.GetPropertyValue <Guid>(MailboxTablePropertyDefinitions.MailboxGuid);
            TenantPartitionHintAdapter tenantPartitionHint = this.GetTenantPartitionHint();
            ByteQuantifiedSize         sizeProperty        = this.GetSizeProperty(MailboxTablePropertyDefinitions.TotalItemSize);
            ByteQuantifiedSize         sizeProperty2       = this.GetSizeProperty(MailboxTablePropertyDefinitions.TotalDeletedItemSize);
            ByteQuantifiedSize         byteQuantifiedSize  = sizeProperty + sizeProperty2;
            ByteQuantifiedSize         sizeProperty3       = this.GetSizeProperty(MailboxTablePropertyDefinitions.MessageTableTotalSize);
            ByteQuantifiedSize         sizeProperty4       = this.GetSizeProperty(MailboxTablePropertyDefinitions.AttachmentTableTotalSize);
            ByteQuantifiedSize         sizeProperty5       = this.GetSizeProperty(MailboxTablePropertyDefinitions.OtherTablesTotalSize);
            ByteQuantifiedSize         byteQuantifiedSize2 = sizeProperty3 + sizeProperty4 + sizeProperty5;
            bool                       propertyValue3      = this.GetPropertyValue <bool>(MailboxTablePropertyDefinitions.IsQuarantined);
            StoreMailboxType           propertyValue4      = this.GetPropertyValue <StoreMailboxType>(MailboxTablePropertyDefinitions.StoreMailboxType);
            uint?                      propertyValue5      = this.GetPropertyValue <uint?>(MailboxTablePropertyDefinitions.ItemCount);
            DateTime?                  propertyValue6      = this.GetPropertyValue <DateTime?>(MailboxTablePropertyDefinitions.LastLogonTime);
            DateTime?                  propertyValue7      = this.GetPropertyValue <DateTime?>(MailboxTablePropertyDefinitions.DisconnectDate);
            DirectoryIdentity          identity            = DirectoryIdentity.CreateMailboxIdentity(propertyValue2, tenantPartitionHint, DirectoryObjectType.Mailbox);
            ByteQuantifiedSize         totalLogicalSize    = byteQuantifiedSize;
            ByteQuantifiedSize         totalPhysicalSize   = byteQuantifiedSize2;
            bool                       isQuarantined       = propertyValue3;
            StoreMailboxType           mailboxType         = propertyValue4;
            uint?                      num = propertyValue5;

            return(new PhysicalMailbox(identity, totalLogicalSize, totalPhysicalSize, isQuarantined, mailboxType, ((num != null) ? new ulong?((ulong)num.GetValueOrDefault()) : null) ?? 0UL, propertyValue6, propertyValue7, tenantPartitionHint.IsConsumer, propertyValue.HasFlag(MailboxMiscFlags.SoftDeletedMailbox) || propertyValue.HasFlag(MailboxMiscFlags.MRSSoftDeletedMailbox), propertyValue.HasFlag(MailboxMiscFlags.ArchiveMailbox), propertyValue.HasFlag(MailboxMiscFlags.DisabledMailbox), propertyValue.HasFlag(MailboxMiscFlags.CreatedByMove))
            {
                OrganizationId = tenantPartitionHint.ExternalDirectoryOrganizationId,
                MessageTableTotalSize = sizeProperty3,
                OtherTablesTotalSize = sizeProperty5,
                AttachmentTableTotalSize = sizeProperty4,
                TotalItemSize = sizeProperty,
                TotalDeletedItemSize = sizeProperty2,
                ItemsPendingUpgrade = this.GetPropertyValue <int>(MailboxTablePropertyDefinitions.ItemsPendingUpgrade),
                CreationTimestamp = this.GetPropertyValue <DateTime>(MailboxTablePropertyDefinitions.CreationTime)
            });
        }
Example #2
0
 public static DirectoryIdentity CreateMailboxIdentity(Guid guid, TenantPartitionHintAdapter tph, DirectoryObjectType objectType = DirectoryObjectType.Mailbox)
 {
     return(DirectoryIdentity.CreateMailboxIdentity(guid, tph.ExternalDirectoryOrganizationId, objectType));
 }
Example #3
0
 public static DirectoryIdentity CreateMailboxIdentity(Guid guid, TenantPartitionHint tph, DirectoryObjectType objectType = DirectoryObjectType.Mailbox)
 {
     return(DirectoryIdentity.CreateMailboxIdentity(guid, TenantPartitionHintAdapter.FromPartitionHint(tph), objectType));
 }
 public virtual TenantPartitionHintAdapter GetTenantPartitionHint()
 {
     byte[] propertyValue = this.GetPropertyValue <byte[]>(MailboxTablePropertyDefinitions.PersistableTenantPartitionHint);
     return(TenantPartitionHintAdapter.FromPersistableTenantPartitionHint(propertyValue));
 }