private IFunctionData UpdateToVersion1(IFunctionData data) { data = AddTransactionProperty(data); data = TransformConnectionTypeProperty(data); return(data.UpdateVersion("1")); }
private IFunctionData UpdateToVersion1(IFunctionData data) { bool isText = data.Properties[FileOpenShared.IsTextPropertyName].GetValue <bool>(); var updatedExecutionPath = new ExecutionPath { Key = FileOpenShared.ExecutionPathName, Name = FileOpenShared.ExecutionPathName, Output = TypeReference.CreateGeneratedType( new TypeProperty(FileOpenShared.OutputFilePathPropertyName, typeof(string), AccessType.Read), new TypeProperty(FileOpenShared.OutputFileHandlePropertyName, TypeReference.CreateResource(isText ? typeof(TextFileHandle) : typeof(BinaryFileHandle)), AccessType.Read)), IterationHint = Plugin.Common.IterationHint.Once }; IExecutionPathData existingExecutionPath; if (data.TryFindExecutionPathByKey(FileOpenShared.ExecutionPathName, out existingExecutionPath)) { data = data.ReplaceExecutionPath(existingExecutionPath, updatedExecutionPath); } else { data = data.AddExecutionPath(updatedExecutionPath); } return(data.UpdateVersion("1")); }
private IFunctionData UpdateToVersion2(IFunctionData data) { var resultFieldsProperty = data.Properties[ExecuteSQLShared.ResultTypePropertyName]; var resultType = new ResultType(); resultType.Fields.AddRange(resultFieldsProperty.GetValue <ResultTypeFields>()); data = data.ReplaceProperty(resultFieldsProperty, new Property(ExecuteSQLShared.ResultTypePropertyName, typeof(ResultType), ValueUseOption.DesignTime, new ResultType()) { Value = resultType }); return(data.UpdateVersion("2")); }
private IFunctionData UpdateToVersion1(IFunctionData data) { data = ChangeExecutionPathHint(data); int resultSetCount = data.Properties[ExecuteStoredProcedureShared.ResultSetCountPropertyName].GetValue <int>(); var executionPathOutputMap = Enumerable.Range(0, resultSetCount).ToDictionary( i => string.Format(ExecuteStoredProcedureShared.ResultSetPropertyNameFormat, i + 1), i => data.ExecutionPaths[string.Format(ExecuteStoredProcedureShared.ResultSetExecutionPathNameFormat, i + 1)].Output); data = FixProperties(data, executionPathOutputMap); data = AddTransactionProperty(data); data = TransformConnectionTypeProperty(data); return(data.UpdateVersion("1")); }
private IFunctionData UpdateToVersion3(IFunctionData data) { var resultTypeProperty = data.Properties[ExecuteSQLShared.ResultTypePropertyName]; var resultTypeValue = resultTypeProperty.GetValue <ResultType>(); var requireUpdate = false; foreach (var field in resultTypeValue.Fields) { if (field.Type == typeof(Int32)) { field.Type = typeof(Int64); requireUpdate = true; } } if (requireUpdate) { data = data.UpdateProperty(resultTypeProperty, resultTypeProperty.Id, resultTypeProperty.Name, resultTypeProperty.TypeReference, resultTypeValue, resultTypeProperty.IsVisible, resultTypeProperty.ValueUsage); var returnTypeValue = resultTypeValue.BuildRowTypeFromFields(); if (returnTypeValue != null) { if (data.Output != null) { if (data.Output.IsList) { data = data.UpdateOutput(TypeReference.CreateList(returnTypeValue)); } else { data = data.UpdateOutput(returnTypeValue); } } IExecutionPathData executionPath; if (data.TryFindExecutionPathByKey("ForEachRow", out executionPath) && executionPath.Output != null) { data = data.UpdateExecutionPath(executionPath, executionPath.Key, executionPath.Name, returnTypeValue, executionPath.IterationHint); } } } return(data.UpdateVersion("3")); }
public override FunctionCodeGenerator CreateCodeGenerator(IFunctionData data) { if (String.IsNullOrEmpty(data.Version)) { data = data.UpdateVersion("1"); } switch (data.Version) { case "1": return(new V1.DirectoryOperationsCodeGenerator(data)); case "2": return(new V2.DirectoryOperationsCodeGenerator(data)); default: throw new Exception(string.Format("Unknown version [{0}] specified.", data.Version)); } }
private IFunctionData UpdateToVersion2(IFunctionData data) { IPropertyData loopResultsProperty; if (data.FindPropertyById(MongoDBReadShared.Names.ReturnOptionsPropertyName) == null) { MongoDBReadShared.ReturnModeType returnModeType = MongoDBReadShared.ReturnModeType.ListOfRows; if (data.TryFindPropertyById("LoopResults", out loopResultsProperty)) { returnModeType = loopResultsProperty.GetValue <bool>() ? MongoDBReadShared.ReturnModeType.RowByRow : MongoDBReadShared.ReturnModeType.ListOfRows; data = data.RemoveProperty(data.FindPropertyById("LoopResults")); } data = data.AddProperty(new Property(MongoDBReadShared.Names.ReturnOptionsPropertyName, typeof(MongoDBReadShared.ReturnModeType), ValueUseOption.DesignTime, returnModeType) { IsVisible = true }); } data = ChangeExecutionPathKey(data); return(data.UpdateVersion("2")); }
private IFunctionData UpdateToVersion2(IFunctionData data) { IPropertyData parametersProperty; if (data.TryFindPropertyById(ExecuteStoredProcedureShared.ParametersPropertyName, out parametersProperty)) { DatabaseModel.ProcedureParameters parameterValues = parametersProperty.Value as DatabaseModel.ProcedureParameters; if (parameterValues != null) { foreach (DatabaseModel.ProcedureParameter parameter in parameterValues) { IPropertyData parameterProperty; if (data.TryFindPropertyById(parameter.Name, out parameterProperty)) { data = data.UpdateProperty(parameterProperty, parameter.DisplayPropertyId, parameter.DisplayPropertyName, parameterProperty.TypeReference, parameterProperty.Value, parameterProperty.IsVisible, parameterProperty.ValueUsage); } } } } return(data.UpdateVersion("2")); }
private IFunctionData UpdateToVersion1(IFunctionData data) { data = AddMissingProperties(data); data = ChangeExecutionPathKey(data); return(data.UpdateVersion("1")); }
private IFunctionData UpdateToVersion1(IFunctionData data) { data = AddMissingProperties(data); return(data.UpdateVersion("1")); }