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; } }
private void DeleteSynchronization(int synchronizationId, string taskTitle) { AddLog(String.Format(ResHelper.GetAPIString("deletion.running", "Deleting '{0}' task"), HTMLHelper.HTMLEncode(taskTitle))); IntegrationSynchronizationInfoProvider.DeleteIntegrationSynchronizationInfo(synchronizationId); }