protected override void StartLoop(NativeActivityContext context) { System.Data.DataView dv; System.Data.DataTable dt = DataTable.Get(context); if (dt != null) { dv = dt.DefaultView; } else { dv = DataView.Get(context); } if (dv == null) { return; } var elements = (from row in dv.Cast <System.Data.DataRowView>() select row).ToList(); IEnumerator <System.Data.DataRowView> _enum = elements.GetEnumerator(); context.SetValue(_elements, _enum); bool more = _enum.MoveNext(); if (more) { IncIndex(context); SetTotal(context, elements.Count); context.ScheduleAction(Body, _enum.Current, OnBodyComplete); } }
public virtual async Task <(IEnumerable <dynamic>, int)> Get(int order, SortDirection sortDirection, int pageNumber, int rowsPerPage) { DataView dataView = new DataView(this); Tuple <string, DynamicParameters> where = Where(dataView); if (where.Item1 == "" && EmptyWhereReturnsEmpty) { where = emptyWhere; } return(await dataView.Get(where.Item1, where.Item2, order, sortDirection, pageNumber, rowsPerPage)); }