public override bool Configure(ITaskContext taskContext)
        {
            if (!base.Configure(taskContext))
            {
                return(false);
            }
            string intraOrganizationConnectorName = this.GetIntraOrganizationConnectorName();
            IntraOrganizationConnector intraOrganizationConnector = taskContext.OnPremisesSession.GetIntraOrganizationConnector(intraOrganizationConnectorName);

            if (intraOrganizationConnector != null)
            {
                taskContext.OnPremisesSession.RemoveIntraOrganizationConnector(intraOrganizationConnectorName);
            }
            IntraOrganizationConnector intraOrganizationConnector2 = taskContext.TenantSession.GetIntraOrganizationConnector(intraOrganizationConnectorName);

            if (intraOrganizationConnector2 != null)
            {
                taskContext.TenantSession.RemoveIntraOrganizationConnector(intraOrganizationConnectorName);
            }
            IntraOrganizationConfiguration intraOrganizationConfiguration  = taskContext.OnPremisesSession.GetIntraOrganizationConfiguration();
            IntraOrganizationConfiguration intraOrganizationConfiguration2 = taskContext.TenantSession.GetIntraOrganizationConfiguration();

            taskContext.OnPremisesSession.NewIntraOrganizationConnector(this.GetIntraOrganizationConnectorName(), intraOrganizationConfiguration2.OnlineDiscoveryEndpoint.ToString(), intraOrganizationConfiguration2.OnlineTargetAddress, true);
            taskContext.TenantSession.NewIntraOrganizationConnector(this.GetIntraOrganizationConnectorName(), intraOrganizationConfiguration.OnPremiseDiscoveryEndpoint.ToString(), intraOrganizationConfiguration2.OnPremiseTargetAddresses, true);
            if (!taskContext.Parameters.Get <bool>("_suppressOAuthWarning"))
            {
                base.AddLocalizedStringWarning(HybridStrings.WarningOAuthNeedsConfiguration(Configuration.OAuthConfigurationUrl(taskContext.HybridConfigurationObject.ServiceInstance)));
            }
            return(true);
        }
        public static void ClearOutputForOlderVersion(DataRow inputRow, DataTable dataTable, DataObjectStore store)
        {
            HybridConfiguration            hybridConfiguration            = store.GetDataObject("HybridConfiguration") as HybridConfiguration;
            IntraOrganizationConfiguration intraOrganizationConfiguration = store.GetDataObject("IntraOrganizationConfiguration") as IntraOrganizationConfiguration;
            bool flag = hybridConfiguration != null && DDIHelper.IsLegacyObject(hybridConfiguration);

            if (flag)
            {
                dataTable.Rows.Clear();
                store.UpdateDataObject("HybridConfiguration", null);
                DataRow row = dataTable.NewRow();
                dataTable.Rows.Add(row);
            }
            dataTable.Rows[0]["NeedUpgrade"] = flag;
            if (object.Equals(dataTable.Rows[0]["IncomingServiceInstance"], "1"))
            {
                inputRow["IsGallatin"] = (dataTable.Rows[0]["IsGallatin"] = true);
                if (OrganizationCache.RestrictIOCToSP1OrGreaterGallatin && intraOrganizationConfiguration.DeploymentIsCompleteIOCReady == false)
                {
                    dataTable.Rows[0]["GallatinBlock"] = true;
                    return;
                }
            }
            else if (!OrganizationCache.RestrictIOCToSP1OrGreaterWorldWide || intraOrganizationConfiguration.DeploymentIsCompleteIOCReady == true)
            {
                dataTable.Rows[0]["WWoAuth"] = true;
            }
        }