示例#1
0
 // Token: 0x06000D60 RID: 3424 RVA: 0x0002878C File Offset: 0x0002698C
 public MailPublicFolderIdParameter(PublicFolderId folderId)
 {
     this.folderId = folderId;
     if (folderId.OrganizationId != null)
     {
         this.Organization = new OrganizationIdParameter(folderId.OrganizationId.OrganizationalUnit);
     }
 }
示例#2
0
 // Token: 0x06000B26 RID: 2854 RVA: 0x00023E4E File Offset: 0x0002204E
 public PublicFolderIdParameter(PublicFolderId publicFolderId)
 {
     if (publicFolderId == null)
     {
         throw new ArgumentNullException("publicFolderId");
     }
     this.rawIdentity = publicFolderId.ToString();
     ((IIdentityParameter)this).Initialize(publicFolderId);
 }
示例#3
0
 public PublicFolderClientPermissionEntry(PublicFolderId identity, PublicFolderUserId user)
 {
     if (null == identity)
     {
         throw new ArgumentNullException("Identity");
     }
     if (null == user)
     {
         throw new ArgumentNullException("user");
     }
     this.identity = identity;
     this.user     = user;
 }
        public IEnumerable <SearchSource> Convert(ISearchPolicy policy, IEnumerable <SearchSource> sources)
        {
            Recorder.Trace(5L, TraceType.InfoTrace, "PublicFolderSourceConverter.Convert Sources:", sources);
            IConfigurationSession configurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.IgnoreInvalid, policy.RecipientSession.SessionSettings, 46, "Convert", "f:\\15.00.1497\\sources\\dev\\EDiscovery\\src\\MailboxSearch\\WebService\\External\\PublicFolderSourceConverter.cs");

            using (PublicFolderDataProvider provider = new PublicFolderDataProvider(configurationSession, "Get-PublicFolder", Guid.Empty))
            {
                foreach (SearchSource source in sources)
                {
                    if (source.SourceType == SourceType.PublicFolder)
                    {
                        Recorder.Trace(5L, TraceType.InfoTrace, new object[]
                        {
                            "PublicFolderSourceConverter.Convert Source:",
                            source.ReferenceId,
                            "PublicFolderSourceConverter.Type:",
                            source.SourceType
                        });
                        PublicFolder publicFolder = null;
                        try
                        {
                            PublicFolderId publicFolderId2;
                            if (this.IsPath(source.ReferenceId))
                            {
                                Recorder.Trace(5L, TraceType.InfoTrace, "PublicFolderSourceConverter.Convert From Path:", source.ReferenceId);
                                publicFolderId2 = new PublicFolderId(new MapiFolderPath(source.ReferenceId));
                            }
                            else
                            {
                                Recorder.Trace(5L, TraceType.InfoTrace, "PublicFolderSourceConverter.Convert From StoreId:", source.ReferenceId);
                                StoreObjectId storeObjectId = StoreObjectId.FromHexEntryId(source.ReferenceId);
                                publicFolderId2 = new PublicFolderId(storeObjectId);
                            }
                            if (publicFolderId2 != null)
                            {
                                Recorder.Trace(5L, TraceType.InfoTrace, "PublicFolderSourceConverter.Convert PublicFolderId:", publicFolderId2);
                                publicFolder = (PublicFolder)provider.Read <PublicFolder>(publicFolderId2);
                            }
                        }
                        catch (FormatException)
                        {
                            Recorder.Trace(5L, TraceType.InfoTrace, "PublicFolderSourceConverter.Convert FormatException, Source:", source);
                        }
                        if (publicFolder != null)
                        {
                            yield return(this.GetSource(source, publicFolder));
                        }
                        else
                        {
                            Recorder.Trace(5L, TraceType.InfoTrace, "PublicFolderSourceConverter.Convert Failed, Source:", source);
                            yield return(source);
                        }
                    }
                    else if (source.SourceType == SourceType.AllPublicFolders)
                    {
                        Recorder.Trace(5L, TraceType.InfoTrace, new object[]
                        {
                            "PublicFolderSourceConverter.Convert Source:",
                            source.ReferenceId,
                            "Type:",
                            source.SourceType
                        });
                        PublicFolderId             publicFolderId = new PublicFolderId(MapiFolderPath.IpmSubtreeRoot);
                        IEnumerable <PublicFolder> folders        = provider.FindPaged <PublicFolder>(null, publicFolderId, true, null, 50);
                        foreach (PublicFolder publicFolder2 in folders)
                        {
                            if (publicFolder2.FolderPath != MapiFolderPath.IpmSubtreeRoot)
                            {
                                yield return(this.GetSource(source, publicFolder2));
                            }
                        }
                    }
                }
            }
            yield break;
        }
 public MailboxFolderIdParameter(PublicFolderId publicFolderId) : this(publicFolderId.ToString())
 {
 }
示例#6
0
        // Token: 0x06000B23 RID: 2851 RVA: 0x00023C30 File Offset: 0x00021E30
        internal PublicFolderIdParameter(string publicFolderIdString, bool isEntryId)
        {
            if (string.IsNullOrEmpty(publicFolderIdString))
            {
                throw new ArgumentNullException("publicFolderIdString");
            }
            this.rawIdentity = publicFolderIdString;
            PublicFolderId publicFolderId = null;

            try
            {
                int num = publicFolderIdString.IndexOf('\\');
                if (num < 0)
                {
                    if (isEntryId)
                    {
                        publicFolderId = new PublicFolderId(StoreObjectId.FromHexEntryId(publicFolderIdString));
                    }
                }
                else if (num == 0)
                {
                    if (publicFolderIdString.Length > 1 && publicFolderIdString[num + 1] == '\\')
                    {
                        throw new FormatException(Strings.ErrorIncompletePublicFolderIdParameter(publicFolderIdString));
                    }
                    publicFolderId = new PublicFolderId(MapiFolderPath.Parse(publicFolderIdString));
                }
                else
                {
                    if (!MapiTaskHelper.IsDatacenter)
                    {
                        throw new FormatException(Strings.ErrorIncompletePublicFolderIdParameter(publicFolderIdString));
                    }
                    if (num == publicFolderIdString.Length - 1)
                    {
                        throw new FormatException(Strings.ErrorIncompleteDCPublicFolderIdParameter(publicFolderIdString));
                    }
                    this.Organization = new OrganizationIdParameter(publicFolderIdString.Substring(0, num));
                    if (publicFolderIdString[num + 1] == '\\')
                    {
                        publicFolderId = new PublicFolderId(MapiFolderPath.Parse(publicFolderIdString.Substring(num + 1)));
                    }
                    else if (isEntryId)
                    {
                        publicFolderId = new PublicFolderId(StoreObjectId.FromHexEntryId(publicFolderIdString.Substring(num + 1)));
                    }
                }
            }
            catch (FormatException innerException)
            {
                throw new FormatException(MapiTaskHelper.IsDatacenter ? Strings.ErrorIncompleteDCPublicFolderIdParameter(this.rawIdentity) : Strings.ErrorIncompletePublicFolderIdParameter(this.rawIdentity), innerException);
            }
            catch (CorruptDataException innerException2)
            {
                throw new FormatException(MapiTaskHelper.IsDatacenter ? Strings.ErrorIncompleteDCPublicFolderIdParameter(this.rawIdentity) : Strings.ErrorIncompletePublicFolderIdParameter(this.rawIdentity), innerException2);
            }
            if (publicFolderId != null)
            {
                ((IIdentityParameter)this).Initialize(publicFolderId);
            }
        }