protected override void InternalProcessRecord() { GlobalLocatorServiceDomain globalLocatorServiceDomain = new GlobalLocatorServiceDomain(); List <KeyValuePair <DomainProperty, PropertyValue> > list = new List <KeyValuePair <DomainProperty, PropertyValue> >(); GlsDirectorySession glsDirectorySession = new GlsDirectorySession(); BitVector32 bitVector = default(BitVector32); bitVector[1] = false; globalLocatorServiceDomain.ExternalDirectoryOrganizationId = (Guid)base.Fields["ExternalDirectoryOrganizationId"]; globalLocatorServiceDomain.DomainName = (SmtpDomain)base.Fields["DomainName"]; globalLocatorServiceDomain.DomainInUse = (base.Fields.IsModified("DomainInUse") && (bool)base.Fields["DomainInUse"]); list.Add(new KeyValuePair <DomainProperty, PropertyValue>(DomainProperty.ExoDomainInUse, new PropertyValue(globalLocatorServiceDomain.DomainInUse))); if (base.Fields.IsModified("DomainFlags")) { globalLocatorServiceDomain.DomainFlags = new GlsDomainFlags?((GlsDomainFlags)base.Fields["DomainFlags"]); if ((globalLocatorServiceDomain.DomainFlags & GlsDomainFlags.Nego2Enabled) == GlsDomainFlags.Nego2Enabled) { bitVector[1] = true; } if ((globalLocatorServiceDomain.DomainFlags & GlsDomainFlags.OAuth2ClientProfileEnabled) == GlsDomainFlags.OAuth2ClientProfileEnabled) { bitVector[2] = true; } } list.Add(new KeyValuePair <DomainProperty, PropertyValue>(DomainProperty.ExoFlags, new PropertyValue(bitVector.Data))); glsDirectorySession.AddAcceptedDomain(globalLocatorServiceDomain.ExternalDirectoryOrganizationId, globalLocatorServiceDomain.DomainName.Domain, (DomainKeyType)base.Fields["DomainType"], list.ToArray()); base.WriteObject(globalLocatorServiceDomain); }
protected override void InternalProcessRecord() { GlobalLocatorServiceDomain globalLocatorServiceDomain = new GlobalLocatorServiceDomain(); GlsDirectorySession glsDirectorySession = new GlsDirectorySession(); SmtpDomain smtpDomain = (SmtpDomain)base.Fields["DomainName"]; if (!glsDirectorySession.TryGetTenantDomainFromDomainFqdn(smtpDomain.Domain, out globalLocatorServiceDomain, true)) { base.WriteGlsDomainNotFoundError(smtpDomain.Domain); } glsDirectorySession.RemoveAcceptedDomain(globalLocatorServiceDomain.ExternalDirectoryOrganizationId, smtpDomain.Domain, true); }
protected override void InternalProcessRecord() { GlobalLocatorServiceDomain sendToPipeline = new GlobalLocatorServiceDomain(); GlsDirectorySession glsDirectorySession = new GlsDirectorySession(); SmtpDomain smtpDomain = (SmtpDomain)base.Fields["DomainName"]; if (this.UseOfflineGLS) { if (!glsDirectorySession.TryGetTenantDomainFromDomainFqdn(smtpDomain.Domain, out sendToPipeline, true, GlsCacheServiceMode.CacheOnly)) { base.WriteGlsDomainNotFoundError(smtpDomain.Domain); } } else if (!glsDirectorySession.TryGetTenantDomainFromDomainFqdn(smtpDomain.Domain, out sendToPipeline, true)) { base.WriteGlsDomainNotFoundError(smtpDomain.Domain); } base.WriteObject(sendToPipeline); }
protected override void InternalProcessRecord() { GlobalLocatorServiceDomain globalLocatorServiceDomain = new GlobalLocatorServiceDomain(); GlsDirectorySession glsDirectorySession = new GlsDirectorySession(); SmtpDomain smtpDomain = (SmtpDomain)base.Fields["DomainName"]; if (!glsDirectorySession.TryGetTenantDomainFromDomainFqdn(smtpDomain.Domain, out globalLocatorServiceDomain, true)) { base.WriteGlsDomainNotFoundError(smtpDomain.Domain); } List <KeyValuePair <DomainProperty, PropertyValue> > list = new List <KeyValuePair <DomainProperty, PropertyValue> >(); if (base.Fields.IsModified("DomainInUse")) { list.Add(new KeyValuePair <DomainProperty, PropertyValue>(DomainProperty.ExoDomainInUse, new PropertyValue((bool)base.Fields["DomainInUse"]))); } if (base.Fields.IsModified("DomainFlags")) { list.Add(new KeyValuePair <DomainProperty, PropertyValue>(DomainProperty.ExoFlags, new PropertyValue((int)base.Fields["DomainFlags"]))); } glsDirectorySession.UpdateAcceptedDomain(globalLocatorServiceDomain.ExternalDirectoryOrganizationId, globalLocatorServiceDomain.DomainName.Domain, list.ToArray()); }