/// <summary> /// <summary> /// build cursor for locate operations - override the defined range direction /// </summary> /// <param name="view"></param> /// <param name="direction"></param> /// <returns></returns> internal RuntimeCursor Build(RuntimeReadOnlyView view, Order direction) { RuntimeCursor runtimeCursor = Build(view); runtimeCursor.CursorDefinition.Direction = direction; return(runtimeCursor); }
public LocallyComputedDcValuesBuilder(RuntimeReadOnlyView view) { this.view = view; displayField = view.DataSourceViewDefinition.DbFields[0]; if (view.DataSourceViewDefinition.DbFields.Count > 1) { valueField = view.DataSourceViewDefinition.DbFields[1]; } else { valueField = displayField; } }
/// <summary> /// /// </summary> /// <param name="Field"></param> /// <param name="indexInView"></param> /// <returns></returns> private FieldBoundaries GetFieldBoundary(IFieldView Field, int indexInView) { FieldBoundaries boundary = new FieldBoundaries(); RuntimeReadOnlyView runtimeRealView = RuntimeViewBase as RuntimeReadOnlyView; boundary.IndexInView = indexInView; boundary.IsLink = Field.IsLink; boundary.StorageAttribute = Field.StorageAttribute; if (runtimeRealView != null) { boundary.DBField = runtimeRealView.GetDbField(boundary.IndexInView); } return(boundary); }
internal override GatewayResult CreateDataControlViews(List <IDataSourceViewDefinition> dataControlViewsDefinitions) { GatewayResult result = new GatewayResult(); foreach (var viewDefinition in dataControlViewsDefinitions) { RuntimeReadOnlyView dcView = TaskViewsBuilder.CreateDataControlSourceView(viewDefinition); //[MH 9-APR] This is the point where we should determine whether the linked variable is vector or not. result = this.TaskViews.AddDataControlView(dcView, new LocallyComputedDcValuesBuilder(dcView)); if (!result.Success) { break; } } return(result); }
/// <summary> /// /// </summary> /// <returns></returns> internal override ReturnResultBase Execute() { LocalDataviewManager localDataViewManager = Task.DataviewManager.LocalDataviewManager; RuntimeReadOnlyView dataControlView = localDataViewManager.TaskViews.GetDataControlViewByBoundControlId(control.getDitIdx()); DataSourceId dataSourceId = dataControlView.DataSourceViewDefinition.TaskDataSource.DataSourceDefinition.Id; DataControlRangeDataCollection rangeData = new DataControlRangeDataCollection(dataSourceId, dataControlView.RangeBuilder, control.getDitIdx()); //remove old DataControlRangeDataCollection entry from map. localDataViewManager.rangeToDcValuesMap.Remove(rangeData); //build new DC values for control LocallyComputedDcValuesBuilder dcValuesBuilder = new LocallyComputedDcValuesBuilder(dataControlView); var dataControlValues = dcValuesBuilder.Build(); localDataViewManager.DataviewSynchronizer.ApplyDCValuesAndRefreshControl(dataControlValues, rangeData, control); return(new ReturnResult()); }
/// <summary> /// build cursor /// </summary> /// <param name="link"></param> /// <returns></returns> internal RuntimeCursor Build(RuntimeReadOnlyView view) { CursorDefinition cursorDefinition = BuildCursorDefinition(); return(Build(cursorDefinition)); }
public CursorBuilder(RuntimeReadOnlyView view) { this.view = view; }