Exemple #1
0
        private static EhfCompanyIdentity GetEhfCompanyIdentity(string configUnitDN, EdgeSyncDiag diagSession, string missingIdAction, ExSearchResultEntry perimeterSettingsEntry)
        {
            int    companyId;
            string text;

            if (!EhfCompanyItem.TryGetEhfCompanyId(perimeterSettingsEntry, diagSession, out companyId, out text))
            {
                if (string.IsNullOrEmpty(text))
                {
                    diagSession.LogAndTraceInfo(EdgeSyncLoggingLevel.Low, "EHF company ID is not set for tenant organization with ConfigUnit root DN <{0}>; {1}", new object[]
                    {
                        configUnitDN,
                        missingIdAction
                    });
                }
                else
                {
                    diagSession.LogAndTraceError("Failure occurred while retrieving EHF company ID for tenant organization with ConfigUnit root DN <{0}>; {1}; failure details: {2}", new object[]
                    {
                        configUnitDN,
                        missingIdAction,
                        text
                    });
                }
            }
            Guid objectGuid = perimeterSettingsEntry.GetObjectGuid();

            return(new EhfCompanyIdentity(companyId, objectGuid));
        }
Exemple #2
0
        public void HandleGroupDeletedEvent(ExSearchResultEntry entry)
        {
            if (EhfAdminAccountSynchronizer.IsEventForDeletedOrganization(entry, base.DiagSession))
            {
                throw new InvalidOperationException("Change entry " + entry.DistinguishedName + " is for a deleted organization. The entry should have been ignored from PreDecorate.");
            }
            EhfAdminSyncChangeBuilder adminBuilderForChange = this.GetAdminBuilderForChange(entry);

            base.DiagSession.LogAndTraceInfo(EdgeSyncLoggingLevel.Medium, "Encountered a DELETE rolegroup event. ObjectGuid: <{0}>; Company: <{1}>", new object[]
            {
                entry.GetObjectGuid(),
                adminBuilderForChange.TenantOU
            });
            if (adminBuilderForChange != null)
            {
                adminBuilderForChange.HandleGroupDeletedEvent(entry);
            }
            if (!EhfWellKnownGroup.IsWellKnownPartnerGroupDN(entry.DistinguishedName))
            {
                return;
            }
            Guid externalDirectoryObjectId;

            if (EhfCompanyAdmins.TryGetExternalDirectoryObjectId(entry, base.DiagSession, out externalDirectoryObjectId))
            {
                this.AddGroupToDeleteGroupsBatch(externalDirectoryObjectId);
                return;
            }
            base.DiagSession.LogAndTraceError("Could not find the ExternalDirectoryObjectId for well known partner group {0}", new object[]
            {
                entry.DistinguishedName
            });
        }
 public void HandleWlidDeletedEvent(ExSearchResultEntry entry)
 {
     if (this.IsFullTenantAdminSyncRequired())
     {
         return;
     }
     this.deletedObjects.Add(entry.GetObjectGuid());
     this.SetFullTenantAdminSyncIfTooManyCachedChanges();
 }
Exemple #4
0
 public void HandleWlidDeletedEvent(ExSearchResultEntry entry)
 {
     if (!EhfAdminAccountSynchronizer.IsEventForDeletedOrganization(entry, base.DiagSession))
     {
         EhfAdminSyncChangeBuilder adminBuilderForChange = this.GetAdminBuilderForChange(entry);
         base.DiagSession.LogAndTraceInfo(EdgeSyncLoggingLevel.Medium, "Encountered a DELETE mailbox event. ObjectGuid: <{0}>; Company: <{1}>", new object[]
         {
             entry.GetObjectGuid(),
             adminBuilderForChange.TenantOU
         });
         if (adminBuilderForChange != null)
         {
             adminBuilderForChange.HandleWlidDeletedEvent(entry);
             return;
         }
     }
     else
     {
         base.DiagSession.LogAndTraceInfo(EdgeSyncLoggingLevel.Medium, "Ignoring the WLID delete event '{0}' for a deleted organization", new object[]
         {
             entry.DistinguishedName
         });
     }
 }