Ejemplo n.º 1
0
        public virtual PaginatedContentResult ProcessQuery(string requestId)
        {
            LazyInit();

            ValidateRequest(requestId);

            var parameters = new Dictionary <string, string>();

            parameters[WQXPluginBase.PARAM_ORGANIZATION_IDENTIFIER_KEY] = _organizationIdentifier;
            string executionInfo, transactionId, errorDetails;

            AppendAuditLogEvent("Executing schedule \"{0}\" for WQX organization \"{1}\"", _scheduleName, _organizationIdentifier);

            var scheduledItem = _scheduleManager.ExecuteSchedule(_scheduleName, parameters, out transactionId, out executionInfo, out errorDetails);

            AppendAuditLogEvent("Successfully executed schedule \"{0}\" for WQX organization \"{1}\"", _scheduleName, _organizationIdentifier);

            var resultData = new WQXExecuteScheduleResult();

            resultData.LocalTransactionId = transactionId;
            CommonTransactionStatusCode status;
            EndpointVersionType         endpointVersion;
            string endpointUrl;

            resultData.NetworkTransactionId =
                _transactionManager.GetNetworkTransactionStatus(transactionId, out status, out endpointVersion, out endpointUrl);
            resultData.NodeEndpointUrl     = endpointUrl;
            resultData.NodeEndpointVersion = endpointVersion;
            resultData.ActivityDetails     = executionInfo;
            resultData.ErrorDetails        = errorDetails;
            if (string.Equals(resultData.NetworkTransactionId, resultData.LocalTransactionId))
            {
                resultData.NetworkTransactionId = null;
            }

            var bytes = _serializationHelper.Serialize(resultData);

            //File.WriteAllBytes(@"D:\Temp\Exec.xml", bytes);
            PaginatedContentResult result = new PaginatedContentResult(0, 1, true, CommonContentType.XML, bytes);

            return(result);
        }