protected override void ApplyArguments(DAE.Runtime.DataParams paramsValue) { if ( (Modifier == DAE.Language.Modifier.Out || Modifier == DAE.Language.Modifier.Var) && (Source != null) && (Source.DataView != null) && Source.DataView.Active && !Source.DataView.IsReadOnly ) { string[] paramNames; DAE.Schema.Column[] columns; GetParams(out paramNames, out columns); for (int i = 0; i < columns.Length; i++) { DAE.Runtime.DataParam param = paramsValue[paramNames[i]]; if (((param.Modifier == DAE.Language.Modifier.Out) || (param.Modifier == DAE.Language.Modifier.Var)) && !Source.IsEmpty) { DAE.Schema.Column column = columns[i]; DataField field = Source.DataView.Fields[column.Name]; field.AsNative = param.Value; } } } }
protected override void CollectDataSetParamGroup(List <DataSetParamGroup> groups) { if ((Source != null) && (Source.DataView != null)) { var paramGroup = new DataSetParamGroup(); paramGroup.Source = Source.DataSource; string[] paramNames; DAE.Schema.Column[] columns; GetParams(out paramNames, out columns); for (int i = 0; i < columns.Length; i++) { DAE.Schema.Column column = columns[i]; DataSetParam param = new DataSetParam(); param.Name = paramNames[i]; param.Modifier = Modifier; param.DataType = column.DataType; param.ColumnName = column.Name; paramGroup.Params.Add(param); } groups.Add(paramGroup); } }
protected override void CollectArguments(ref DAE.Runtime.DataParams paramsValue) { if ((Source != null) && (Source.DataView != null) && Source.DataView.Active) { string[] paramNames; DAE.Schema.Column[] columns; GetParams(out paramNames, out columns); for (int i = 0; i < columns.Length; i++) { // Create the collection when we find the first item to add to it if (paramsValue == null) { paramsValue = new DAE.Runtime.DataParams(); } DAE.Schema.Column column = columns[i]; DataField field = Source.DataView.Fields[column.Name]; paramsValue.Add ( new DAE.Runtime.DataParam ( paramNames[i], column.DataType, Modifier, Source.IsEmpty ? null : (field.HasValue() ? field.AsNative : null) ) ); } } }
public void GetParams(out string[] LParamNames, out DAE.Schema.Column[] LColumns) { if (Columns != String.Empty) { string paramName; string columnName; LParamNames = Columns.Split(new char[] { ';', ',', '\n', '\r' }); LColumns = new DAE.Schema.Column[LParamNames.Length]; for (int i = 0; i < LParamNames.Length; i++) { paramName = LParamNames[i]; int pos = paramName.IndexOf('='); if (pos >= 0) { columnName = paramName.Substring(pos + 1).Trim(); paramName = paramName.Substring(0, pos).Trim(); } else { paramName = paramName.Trim(); columnName = paramName; } LColumns[i] = Source.DataView.TableType.Columns[columnName]; LParamNames[i] = paramName; } } else { LColumns = new DAE.Schema.Column[Source.DataView.TableType.Columns.Count]; Source.DataView.TableType.Columns.CopyTo(LColumns, 0); LParamNames = new string[LColumns.Length]; for (int i = 0; i < LColumns.Length; i++) { LParamNames[i] = LColumns[i].Name; } } }