// Token: 0x0600189F RID: 6303 RVA: 0x00054ECC File Offset: 0x000530CC
 private Persona[] GetPeers(IADOrgPerson orgPerson)
 {
     Persona[] result = null;
     if (orgPerson.Manager != null)
     {
         ADRecipient adrecipient = this.adRecipientSession.Read(orgPerson.Manager);
         if (adrecipient != null)
         {
             IADOrgPerson iadorgPerson      = (IADOrgPerson)adrecipient;
             object[][]   directReportsView = iadorgPerson.GetDirectReportsView(GetPersonaOrganizationHierarchyCommand.propertiesToFetch);
             this.WriteTrace("peers.Count={0}", new object[]
             {
                 (directReportsView == null) ? "0" : directReportsView.Length.ToString()
             });
             if (directReportsView != null && directReportsView.Length > 1)
             {
                 result = Array.ConvertAll <object[], Persona>(directReportsView, (object[] personaReport) => this.GetPersonaFromADObject(personaReport));
             }
         }
         else
         {
             this.WriteTrace("manager not found to get peers list", new object[0]);
         }
     }
     return(result);
 }
Пример #2
0
        // Token: 0x06002A99 RID: 10905 RVA: 0x000EEF08 File Offset: 0x000ED108
        internal static void RenderOrganizationContents(TextWriter writer, UserContext userContext, IADOrgPerson orgPerson, IRecipientSession adRecipientSession)
        {
            object[][] managementChainView = orgPerson.GetManagementChainView(false, new PropertyDefinition[]
            {
                ADObjectSchema.Id,
                ADRecipientSchema.DisplayName,
                ADOrgPersonSchema.Title
            });
            if (managementChainView != null)
            {
                ReadADOrgPerson.RenderManagerList(writer, userContext, managementChainView);
            }
            ADRecipient adrecipient = null;

            if (orgPerson.Manager != null)
            {
                try
                {
                    adrecipient = adRecipientSession.Read(orgPerson.Manager);
                }
                catch (NonUniqueRecipientException ex)
                {
                    ExTraceGlobals.DirectoryTracer.TraceDebug <string>(0L, "ReadADOrgPerson.RenderOrganizationContents: NonUniqueRecipientException thrown by IRecipientSession.Read: {0}", ex.Message);
                }
            }
            if (adrecipient != null)
            {
                IADOrgPerson iadorgPerson      = (IADOrgPerson)adrecipient;
                object[][]   directReportsView = iadorgPerson.GetDirectReportsView(new PropertyDefinition[]
                {
                    ADObjectSchema.Id,
                    ADRecipientSchema.DisplayName,
                    ADOrgPersonSchema.Title
                });
                if (directReportsView != null)
                {
                    ReadADOrgPerson.RenderPeersList(writer, directReportsView, orgPerson.Id, orgPerson.DisplayName, orgPerson.Title);
                }
            }
            else
            {
                ReadADOrgPerson.RenderPeopleLabelHeading(writer, LocalizedStrings.GetHtmlEncoded(1804838102));
                ReadADOrgPerson.RenderSelf(writer, orgPerson.Id, orgPerson.DisplayName, orgPerson.Title);
            }
            object[][] directReportsView2 = orgPerson.GetDirectReportsView(new PropertyDefinition[]
            {
                ADObjectSchema.Id,
                ADRecipientSchema.DisplayName,
                ADOrgPersonSchema.Title
            });
            if (directReportsView2 != null)
            {
                ReadADOrgPerson.RenderDirectReportsList(writer, directReportsView2);
            }
        }
Пример #3
0
        private void RenderPeers(IADOrgPerson person, TextWriter writer)
        {
            ADObjectId manager = person.Manager;

            if (manager != null)
            {
                ADRecipient adrecipient = base.ADRecipientSession.Read(manager);
                if (adrecipient != null)
                {
                    IADOrgPerson iadorgPerson = (IADOrgPerson)adrecipient;
                    this.peersResults = iadorgPerson.GetDirectReportsView(new PropertyDefinition[]
                    {
                        ADRecipientSchema.DisplayName,
                        ADObjectSchema.Id,
                        ADRecipientSchema.RecipientType
                    });
                }
            }
            if (this.peersResults != null && this.peersResults.Length > 1)
            {
                writer.Write("<tr><td class=\"lbl lp\" nowrap>");
                writer.Write(LocalizedStrings.GetHtmlEncoded(-1417802693));
                writer.Write("</td><td>");
                writer.Write("<table cellpadding=0 cellspacing=0 class=\"drpts\">");
                List <ReadADOrgPerson.ADMember> list = new List <ReadADOrgPerson.ADMember>();
                for (int i = 0; i < this.peersResults.Length; i++)
                {
                    if (!base.ADRecipient.Id.Equals(this.peersResults[i][1]))
                    {
                        list.Add(new ReadADOrgPerson.ADMember(this.peersResults[i][0] as string, this.peersResults[i][1] as ADObjectId, this.peersResults[i][2]));
                    }
                }
                list.Sort(this);
                foreach (ReadADOrgPerson.ADMember admember in list)
                {
                    RecipientType recipientType = (RecipientType)admember.Type;
                    int           readItemType;
                    if (Utilities.IsADDistributionList(recipientType))
                    {
                        readItemType = 2;
                    }
                    else
                    {
                        readItemType = 1;
                    }
                    writer.Write("<tr><td class=\"rptdpd\">");
                    ReadADRecipient.RenderADRecipient(writer, readItemType, admember.Id, admember.DisplayName);
                    writer.Write("</td></tr>");
                }
                writer.Write("</table>");
                writer.Write("</td></tr>");
                writer.Write("<tr><td class=\"spcHd\" colspan=2></td></tr>");
                this.renderOrganizationDetails = true;
            }
        }
 // Token: 0x0600189E RID: 6302 RVA: 0x00054E58 File Offset: 0x00053058
 private Persona[] GetDirectReports(IADOrgPerson orgPerson)
 {
     object[][] directReportsView = orgPerson.GetDirectReportsView(GetPersonaOrganizationHierarchyCommand.propertiesToFetch);
     this.WriteTrace("personaReports.Count={0}", new object[]
     {
         (directReportsView == null) ? "0" : directReportsView.Length.ToString()
     });
     Persona[] result = null;
     if (directReportsView != null && directReportsView.Length > 0)
     {
         result = Array.ConvertAll <object[], Persona>(directReportsView, (object[] personaReport) => this.GetPersonaFromADObject(personaReport));
     }
     return(result);
 }
Пример #5
0
 private void RenderDirectReports(IADOrgPerson person, TextWriter writer)
 {
     this.reports = person.GetDirectReportsView(new PropertyDefinition[]
     {
         ADRecipientSchema.DisplayName,
         ADObjectSchema.Id,
         ADRecipientSchema.RecipientType
     });
     if (this.reports != null && this.reports.Length > 0)
     {
         writer.Write("<tr><td class=\"lbl lp\">");
         writer.Write(LocalizedStrings.GetHtmlEncoded(-156515347));
         writer.Write("</td><td>");
         writer.Write("<table cellpadding=0 cellspacing=0 class=\"drpts\">");
         List <ReadADOrgPerson.ADMember> list = new List <ReadADOrgPerson.ADMember>();
         for (int i = 0; i < this.reports.Length; i++)
         {
             list.Add(new ReadADOrgPerson.ADMember(this.reports[i][0] as string, this.reports[i][1] as ADObjectId, this.reports[i][2]));
         }
         list.Sort(this);
         foreach (ReadADOrgPerson.ADMember admember in list)
         {
             RecipientType recipientType = (RecipientType)admember.Type;
             int           readItemType;
             if (Utilities.IsADDistributionList(recipientType))
             {
                 readItemType = 2;
             }
             else
             {
                 readItemType = 1;
             }
             writer.Write("<tr><td class=\"rptdpd\">");
             ReadADRecipient.RenderADRecipient(writer, readItemType, admember.Id, admember.DisplayName);
             writer.Write("</td></tr>");
         }
         writer.Write("</table>");
         writer.Write("</td></tr>");
         this.renderOrganizationDetails = true;
     }
 }