/// <summary> /// Creates a view for a task's dataview link source. /// </summary> /// <param name="viewDefinition">The dataview header definition for the link</param> /// <returns></returns> internal RuntimeRealView CreateLinkView(IDataviewHeader viewDefinition) { RuntimeRealView view = new LinkView(); view.CursorBuilder = new CursorBuilder(view); InitializeView(view, viewDefinition); return(view); }
/// <summary> /// find all links for which predicate is valid /// </summary> /// <param name="predicate"></param> /// <returns></returns> internal List <IDataviewHeader> FindAll(Predicate <IDataviewHeader> predicate) { List <IDataviewHeader> result = new List <IDataviewHeader>(); IEnumerator allDataviewHeaders = _dataviewHeaders.Values.GetEnumerator(); while (allDataviewHeaders.MoveNext()) { IDataviewHeader dataviewHeader = (IDataviewHeader)allDataviewHeaders.Current; if (predicate(dataviewHeader)) { result.Add(dataviewHeader); } } return(result); }
/// <summary> /// init link fields /// </summary> /// <param name="dataviewHeader"></param> /// <param name="record"></param> internal void InitLinkFields(IDataviewHeader dataviewHeader, IRecord record) { ((LocalDataviewHeader)dataviewHeader).InitLinkFields(record); }
/// <summary> /// set link's return value /// </summary> /// <param name="dataviewHeader"></param> /// <param name="record"></param> /// <param name="linkSuccess"></param> internal void SetLinkReturnValue(IDataviewHeader dataviewHeader, IRecord record, bool linkSuccess, bool recompute) { ((LocalDataviewHeader)dataviewHeader).SetReturnValue(record, linkSuccess, recompute); }
public static RecomputeId GetRecomputeId(IDataviewHeader dataviewHeader) { return(new RecomputeId(typeof(IDataviewHeader), dataviewHeader.Id)); }