protected override Guid ExecutionImpl(IEsbChannel esbChannel, IDSFDataObject dataObject, string inputs, string outputs, out ErrorResultTO tmpErrors) { tmpErrors = new ErrorResultTO(); ErrorResultTO invokeErrors; var compiler = DataListFactory.CreateDataListCompiler(); var oldID = dataObject.DataListID; var webserviceExecution = GetNewWebserviceExecution(dataObject); #pragma warning disable 168 var remainingMappings = esbChannel.ShapeForSubRequest(dataObject, inputs, outputs, out invokeErrors); #pragma warning restore 168 tmpErrors.MergeErrors(invokeErrors); if (webserviceExecution != null && !tmpErrors.HasErrors()) { webserviceExecution.InstanceOutputDefintions = outputs; // set the output mapping for the instance ;) var result = webserviceExecution.Execute(out invokeErrors); tmpErrors.MergeErrors(invokeErrors); // Adjust the remaining output mappings ;) compiler.SetParentID(dataObject.DataListID, oldID); compiler.ConvertFrom(dataObject.DataListID, DataListFormat.CreateFormat(GlobalConstants._XML_Without_SystemTags), enTranslationDepth.Data, out invokeErrors); tmpErrors.MergeErrors(invokeErrors); compiler.ConvertFrom(oldID, DataListFormat.CreateFormat(GlobalConstants._XML_Without_SystemTags), enTranslationDepth.Data, out invokeErrors); tmpErrors.MergeErrors(invokeErrors); return(result); } return(oldID); }
protected override Guid ExecutionImpl(IEsbChannel esbChannel, IDSFDataObject dataObject, string inputs, string outputs, out ErrorResultTO errors) { var execErrors = new ErrorResultTO(); var compiler = DataListFactory.CreateDataListCompiler(); var oldID = dataObject.DataListID; IList <KeyValuePair <enDev2ArgumentType, IList <IDev2Definition> > > remainingMappings = esbChannel.ShapeForSubRequest(dataObject, inputs, outputs, out errors); errors.MergeErrors(execErrors); var databaseServiceExecution = ServiceExecution as DatabaseServiceExecution; if (databaseServiceExecution != null) { databaseServiceExecution.InstanceOutputDefintions = outputs; // set the output mapping for the instance ;) } var result = ServiceExecution.Execute(out execErrors); errors.MergeErrors(execErrors); // Adjust the remaining output mappings ;) compiler.SetParentID(dataObject.DataListID, oldID); if (remainingMappings != null) { var outputMappings = remainingMappings.FirstOrDefault(c => c.Key == enDev2ArgumentType.Output); compiler.Shape(dataObject.DataListID, enDev2ArgumentType.Output, outputMappings.Value, out execErrors); errors.MergeErrors(execErrors); } else { compiler.Shape(dataObject.DataListID, enDev2ArgumentType.DB_ForEach, outputs, out execErrors); errors.MergeErrors(execErrors); } compiler.ConvertFrom(dataObject.DataListID, DataListFormat.CreateFormat(GlobalConstants._XML_Without_SystemTags), enTranslationDepth.Data, out execErrors); errors.MergeErrors(execErrors); compiler.ConvertFrom(oldID, DataListFormat.CreateFormat(GlobalConstants._XML_Without_SystemTags), enTranslationDepth.Data, out execErrors); errors.MergeErrors(execErrors); return(result); }