public static ExchangeValidator Create(IConfigurationSession configSession, Func <RecipientIdParameter, IRecipientSession, ReducedRecipient> recipientGetter, Task.TaskErrorLoggingDelegate writeErrorDelegate, Action <LocalizedString> writeWarningDelegate, Func <LocalizedString, bool> shouldContinueDelegate, bool allowGroups, string logTag, SourceValidator.Clients client, int existingRecipientsCount, ExecutionLog logger) { ArgumentValidator.ThrowIfNull("configSession", configSession); OrganizationId organizationId = configSession.GetOrgContainer().OrganizationId; ADSessionSettings sessionSettings = ADSessionSettings.FromExternalDirectoryOrganizationId(new Guid(organizationId.ToExternalDirectoryOrganizationId())); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(ConsistencyMode.IgnoreInvalid, sessionSettings, 205, "Create", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\transport\\UnifiedPolicy\\Validators\\ExchangeValidator.cs"); int maxLimitFromConfig = SourceValidator.GetMaxLimitFromConfig("MaxRecipientsLimit", 1000, existingRecipientsCount); return(new ExchangeValidator(tenantOrRootOrgRecipientSession, recipientGetter, writeErrorDelegate, writeWarningDelegate, shouldContinueDelegate, allowGroups, maxLimitFromConfig, logger, logTag, organizationId.ToExternalDirectoryOrganizationId(), client)); }
public ExchangeValidator(IRecipientSession recipientSession, Func <RecipientIdParameter, IRecipientSession, ReducedRecipient> recipientGetter, Task.TaskErrorLoggingDelegate writeErrorDelegate, Action <LocalizedString> writeWarningDelegate, Func <LocalizedString, bool> shouldContinueDelegate, bool allowGroups, int maxRecipientsLimit, ExecutionLog logger, string logTag, string tenantId, SourceValidator.Clients client) : base(writeErrorDelegate, writeWarningDelegate, shouldContinueDelegate, logger, logTag, tenantId, client) { ArgumentValidator.ThrowIfNull("recipientSession", recipientSession); ArgumentValidator.ThrowIfNull("recipientGetter", recipientGetter); this.recipientSession = recipientSession; this.recipientGetter = recipientGetter; this.allowGroups = allowGroups; this.maxRecipientsLimit = maxRecipientsLimit; }
public SourceValidator(Task.TaskErrorLoggingDelegate writeErrorDelegate, Action <LocalizedString> writeWarningDelegate, Func <LocalizedString, bool> shouldContinueDelegate, ExecutionLog logger, string logTag, string tenantId, SourceValidator.Clients client) { if (client == SourceValidator.Clients.NewCompliancePolicy || client == SourceValidator.Clients.SetCompliancePolicy) { ArgumentValidator.ThrowIfNull("writeErrorDelegate", writeErrorDelegate); ArgumentValidator.ThrowIfNull("writeWarningDelegate", writeWarningDelegate); ArgumentValidator.ThrowIfNull("shouldContinueDelegate", shouldContinueDelegate); } this.writeErrorDelegate = writeErrorDelegate; this.writeWarningDelegate = writeWarningDelegate; this.shouldContinueDelegate = shouldContinueDelegate; this.logger = logger; this.logTag = logTag; this.tenantId = tenantId; this.client = client; this.logCorrelationId = Guid.NewGuid().ToString(); }
private static SharepointValidator Create(IConfigurationSession configurationSession, ADObjectId executingUserId, Task.TaskErrorLoggingDelegate writeErrorDelegate, Action <LocalizedString> writeWarningDelegate, Func <LocalizedString, bool> shouldContinueDelegate, string logTag, SourceValidator.Clients client, int existingSitesCount, ExecutionLog logger) { ArgumentValidator.ThrowIfNull("configurationSession", configurationSession); Uri uri = null; Uri uri2 = null; OrganizationId organizationId = configurationSession.GetOrgContainer().OrganizationId; UnifiedPolicyConfiguration.GetInstance().GetTenantSharePointUrls(configurationSession, out uri, out uri2); if (uri == null) { EventNotificationItem.Publish(ExchangeComponent.UnifiedComplianceSourceValidation.Name, "SharepointValidatorUnexpectedError", client.ToString(), string.Format("Tenant {0}, Error:{1}", organizationId.ToExternalDirectoryOrganizationId(), Strings.FailedToGetSpSiteUrlForTenant), ResultSeverityLevel.Error, false); throw new SpValidatorException(Strings.FailedToGetSpSiteUrlForTenant); } ADUser actAsUser = null; if (executingUserId != null) { ADSessionSettings sessionSettings = ADSessionSettings.FromExternalDirectoryOrganizationId(new Guid(organizationId.ToExternalDirectoryOrganizationId())); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(ConsistencyMode.IgnoreInvalid, sessionSettings, 520, "Create", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\transport\\UnifiedPolicy\\Validators\\SharepointValidator.cs"); actAsUser = tenantOrRootOrgRecipientSession.FindADUserByObjectId(executingUserId); } ICredentials credentials = UnifiedPolicyConfiguration.GetInstance().GetCredentials(configurationSession, actAsUser); if (credentials == null) { EventNotificationItem.Publish(ExchangeComponent.UnifiedComplianceSourceValidation.Name, "SharepointValidatorUnexpectedError", client.ToString(), string.Format("Tenant {0}, Error:{1}", organizationId.ToExternalDirectoryOrganizationId(), Strings.FailedToGetCredentialsForTenant), ResultSeverityLevel.Error, false); throw new SpValidatorException(Strings.FailedToGetCredentialsForTenant); } int maxLimitFromConfig = SourceValidator.GetMaxLimitFromConfig("MaxSitesLimit", 100, existingSitesCount); return(new SharepointValidator(uri, credentials, executingUserId != null, writeErrorDelegate, writeWarningDelegate, shouldContinueDelegate, maxLimitFromConfig, logger, logTag, organizationId.ToExternalDirectoryOrganizationId(), client)); }
public SharepointValidator(Uri spSiteContextUrl, ICredentials credentials, bool validateUsingSearch, Task.TaskErrorLoggingDelegate writeErrorDelegate, Action <LocalizedString> writeWarningDelegate, Func <LocalizedString, bool> shouldContinueDelegate, int maxSitesLimit, ExecutionLog logger, string logTag, string tenantId, SourceValidator.Clients client) : base(writeErrorDelegate, writeWarningDelegate, shouldContinueDelegate, logger, logTag, tenantId, client) { ArgumentValidator.ThrowIfNull("spSiteContextUrl", spSiteContextUrl); ArgumentValidator.ThrowIfNull("credentials", credentials); this.spSiteContextUrl = spSiteContextUrl; this.credentials = credentials; this.validateUsingSearch = validateUsingSearch; this.maxSitesLimit = maxSitesLimit; }
public static SharepointValidator Create(IConfigurationSession configurationSession, ExchangeRunspaceConfiguration exchangeRunspaceConfig, Task.TaskErrorLoggingDelegate writeErrorDelegate, Action <LocalizedString> writeWarningDelegate, Func <LocalizedString, bool> shouldContinueDelegate, string logTag, SourceValidator.Clients client, int existingSitesCount, ExecutionLog logger) { bool boolFromConfig = Utils.GetBoolFromConfig("ValidateSharepointUsingSearch", true); ADObjectId executingUserId; if (boolFromConfig) { if (exchangeRunspaceConfig == null || !exchangeRunspaceConfig.TryGetExecutingUserId(out executingUserId)) { throw new SpValidatorException(Strings.FailedToGetExecutingUser); } } else { executingUserId = null; } return(SharepointValidator.Create(configurationSession, executingUserId, writeErrorDelegate, writeWarningDelegate, shouldContinueDelegate, logTag, client, existingSitesCount, logger)); }