private string ProcessSynchronization(int connectorId, int taskId) { if ((taskId > 0) && (connectorId > 0)) { // Get connector and task IntegrationConnectorInfo connectorInfo = IntegrationConnectorInfoProvider.GetIntegrationConnectorInfo(connectorId); IntegrationTaskInfo taskInfo = IntegrationTaskInfoProvider.GetIntegrationTaskInfo(taskId); if ((connectorInfo != null) && (taskInfo != null)) { if (connectorInfo.ConnectorEnabled) { // Get connector instance BaseIntegrationConnector connector = IntegrationHelper.GetConnector(connectorInfo.ConnectorName) as BaseIntegrationConnector; if (connector != null) { AddLog(String.Format(ResHelper.GetAPIString("synchronization.running", "Processing '{0}' task"), HTMLHelper.HTMLEncode(taskInfo.TaskTitle))); // Process the task if (TasksAreInbound) { // Always try to process the task when requested from UI taskInfo.TaskProcessType = IntegrationProcessTypeEnum.Default; return(connector.ProcessExternalTask(taskInfo)); } else { return(connector.ProcessInternalTask(taskInfo)); } } else { // Can't load connector AddLog(String.Format(ResHelper.GetAPIString("synchronization.skippingunavailable", "Skipping '{0}' task - failed to load associated connector."), HTMLHelper.HTMLEncode(taskInfo.TaskTitle))); } } else { // Connector is disabled AddLog(String.Format(ResHelper.GetAPIString("synchronization.skippingdisabled", "Skipping '{0}' task - associated connector is disabled."), HTMLHelper.HTMLEncode(taskInfo.TaskTitle))); } } } return(null); }
protected void gridElem_OnAction(string actionName, object actionArgument) { int synchronizationId = ValidationHelper.GetInteger(actionArgument, 0); switch (actionName.ToLowerInvariant()) { case "delete": // Delete synchronization IntegrationSynchronizationInfoProvider.DeleteIntegrationSynchronizationInfo(synchronizationId); break; case "run": // Get synchronization IntegrationSynchronizationInfo synchronization = IntegrationSynchronizationInfoProvider.GetIntegrationSynchronizationInfo(synchronizationId); if (synchronization != null) { // Get connector and task IntegrationConnectorInfo connectorInfo = IntegrationConnectorInfoProvider.GetIntegrationConnectorInfo(synchronization.SynchronizationConnectorID); IntegrationTaskInfo taskInfo = IntegrationTaskInfoProvider.GetIntegrationTaskInfo(synchronization.SynchronizationTaskID); if ((connectorInfo != null) && (taskInfo != null)) { // Get connector instance BaseIntegrationConnector connector = IntegrationHelper.GetConnector(connectorInfo.ConnectorName) as BaseIntegrationConnector; if (connector != null) { // Process the task if (TasksAreInbound) { // Always try to process the task when requested from UI taskInfo.TaskProcessType = IntegrationProcessTypeEnum.Default; connector.ProcessExternalTask(taskInfo); } else { connector.ProcessInternalTask(taskInfo); } } } } break; } }