public BaseConverter(IDataNavigator dataNavigator, ExporterPage singlePage, IExportItemsConverter exportItemsConverter, ILayouter layouter) { if (dataNavigator == null) { throw new ArgumentNullException("dataNavigator"); } if (singlePage == null) { throw new ArgumentNullException("singlePage"); } if (exportItemsConverter == null) { throw new ArgumentNullException("exportItemsConverter"); } if (layouter == null) { throw new ArgumentNullException("layouter"); } this.singlePage = singlePage; this.dataNavigator = dataNavigator; this.sectionBounds = this.singlePage.SectionBounds; this.exportItemsConverter = exportItemsConverter; this.layouter = layouter; }
public void CheckDataManager() { Assert.IsNotNull(this.dataManager); IDataNavigator n = this.singlePage.IDataNavigator; Assert.AreEqual(this.testTable.Rows.Count, n.Count); }
private List <object> SetupDataSource(object data, IDataNavigator navigator) { navigator.Reset(); List <object> list = new List <object>(); while (navigator.MoveNext()) { CurrentItemsCollection row = navigator.GetDataRow; CurrentItem currentItem = ExtractItemFromDataSet(row, data); if (currentItem != null) { object s1 = Convert.ToString(currentItem.Value.ToString(), CultureInfo.CurrentCulture); if (IsNumeric(s1)) { list.Add(Convert.ToDouble(s1, System.Globalization.CultureInfo.CurrentCulture)); } else { list.Add(true); } } else { string str = String.Format("<{0}> not found in AggregateFunction.SetupDataSource", data.ToString()); throw new FieldNotFoundException(str); } } return(list); }
public void Collection_Contains_Subclass() { var modifyedCollection = this.ModifyCollection(); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(modifyedCollection, new ReportSettings()); IDataNavigator dn = dm.GetNavigator; ReportItemCollection searchCol = new ReportItemCollection(); searchCol.Add(new BaseDataItem() { ColumnName = "DummyClass.DummyString" } ); searchCol.Add(new BaseDataItem() { Name = "GroupItem", ColumnName = "GroupItem" } ); dn.Reset(); dn.MoveNext(); while (dn.MoveNext()) { dn.Fill(searchCol); var a = (BaseDataItem)searchCol[0]; var b = (BaseDataItem)searchCol[1]; var c = modifyedCollection[dn.CurrentRow]; Assert.AreEqual(a.DBValue, c.DummyClass.DummyString); Assert.AreEqual(b.DBValue, c.GroupItem); } }
public void NullValue_In_Property_Should_Return_EmptyString() { ContributorsList contributorsList = new ContributorsList(); var contColl = contributorsList.ContributorCollection; foreach (Contributor element in contColl) { element.GroupItem = null; } IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(contColl, new ReportSettings()); IDataNavigator dataNav = dm.GetNavigator; ReportItemCollection searchCol = new ReportItemCollection(); searchCol.Add(new BaseDataItem() { Name = "GroupItem", ColumnName = "GroupItem" } ); dataNav.Reset(); dataNav.MoveNext(); do { dataNav.Fill(searchCol); BaseDataItem resultItem = searchCol[0] as BaseDataItem; Assert.That(resultItem.Name, Is.EqualTo("GroupItem")); Assert.That(resultItem.DBValue, Is.EqualTo(String.Empty)); }while (dataNav.MoveNext()); }
protected Point BuildDetail(BaseSection section, IDataNavigator dataNavigator) { ExporterCollection convertedList = new ExporterCollection(); foreach (BaseReportItem item in section.Items) { IBaseConverter baseConverter = ConverterFactory.CreateConverter(item, base.ReportModel, dataNavigator, this.SinglePage); if (baseConverter != null) { baseConverter.SectionRendering += OnSectionRendering; baseConverter.GroupHeaderRendering += OnGroupHeaderRendering; baseConverter.GroupFooterRendering += OnGroupFooterRendering; baseConverter.RowRendering += OnRowRendering; baseConverter.Graphics = base.Graphics; baseConverter.PageFull += new EventHandler <NewPageEventArgs>(OnPageFull); convertedList = baseConverter.Convert(section, item); base.SinglePage.Items.AddRange(convertedList); return(baseConverter.CurrentPosition); } } return(Point.Empty); }
public void CollectionContainsSubclass() { var modifyedCollection = this.ModifyCollection(); GroupColumn gc = new GroupColumn("GroupItem", 1, ListSortDirection.Ascending); ReportSettings rs = new ReportSettings(); rs.GroupColumnsCollection.Add(gc); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(modifyedCollection, rs); IDataNavigator dataNavigator = dm.GetNavigator; ReportItemCollection searchCol = new ReportItemCollection(); searchCol.Add(new BaseDataItem() { ColumnName = "DummyClass.DummyString" } ); searchCol.Add(new BaseDataItem() { Name = "Last", ColumnName = "Last" } ); searchCol.Add(new BaseDataItem() { ColumnName = "GroupItem" } ); string compare = string.Empty; while (dataNavigator.MoveNext()) { dataNavigator.Fill(searchCol); var b1 = (BaseDataItem)searchCol[2]; var result = b1.DBValue; Assert.That(compare, Is.LessThan(result)); if (dataNavigator.HasChildren) { var childNavigator = dataNavigator.GetChildNavigator; do { childNavigator.Fill(searchCol); var itemDummy = (BaseDataItem)searchCol[0]; var itemLast = (BaseDataItem)searchCol[1]; var itemGroup = (BaseDataItem)searchCol[2]; Console.WriteLine("\t{0} - {1} - {2}", itemDummy.DBValue, itemLast.DBValue, itemGroup.DBValue); Assert.That(itemDummy.DBValue, Is.Not.Empty); Assert.That(itemLast.DBValue, Is.Not.Empty); Assert.That(itemGroup.DBValue, Is.Not.Empty); }while (childNavigator.MoveNext()); } compare = result; } }
public void DataNavigatorCorrectPosition() { IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection as System.Collections.IList, new ReportSettings()); IDataNavigator dataNav = dm.GetNavigator; Assert.AreEqual(-1, dataNav.CurrentRow, "CurrentRow should be -1"); }
public void DataNavigatorCountEqualListCount() { IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table, new ReportSettings()); Assert.IsNotNull(dm); IDataNavigator n = dm.GetNavigator; Assert.AreEqual(this.table.Rows.Count, n.Count, "Count of ListItems should be equal"); }
protected void FireRowRendering (ISimpleContainer detailRow,IDataNavigator currentNavigator) { BaseRowItem row = detailRow as BaseRowItem; if (row == null) { throw new ArgumentException("row"); } RowRenderEventArgs rrea = new RowRenderEventArgs(row,currentNavigator.Current); EventHelper.Raise<RowRenderEventArgs>(RowRendering,this,rrea); }
public RenderTable(IDataNavigator datanavigator, Rectangle parentRectangle, ISinglePage singlePage, ILayouter layouter, BaseSection section) { this.dataNavigator = datanavigator; this.parentRectangle = parentRectangle; this.singlePage = singlePage; this.layouter = layouter; this.currentSection = section; }
public RenderTable(IDataNavigator datanavigator,Rectangle parentRectangle,ISinglePage singlePage,ILayouter layouter,BaseSection section) { this.dataNavigator = datanavigator; this.parentRectangle = parentRectangle; this.singlePage = singlePage; this.layouter = layouter; this.currentSection = section; }
public static IExpressionEvaluatorFacade CreateEvaluator (ISinglePage singlePage,IDataNavigator dataNavigator) { if (singlePage == null) { throw new ArgumentNullException("singlePage"); } singlePage.IDataNavigator = dataNavigator; IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage); return evaluatorFacade; }
public void AvaiableFields_Should_Be_Set() { var dataNavigator = PrepareStringGrouping(); dataNavigator.MoveNext(); IDataNavigator child = dataNavigator.GetChildNavigator(); AvailableFieldsCollection availableFieldsCollection = child.AvailableFields; Assert.That(availableFieldsCollection, Is.Not.Null); Assert.That(availableFieldsCollection.Count, Is.GreaterThan(0)); }
public void DataNavigatorNotNull() { ReportSettings rs = new ReportSettings(); rs.ConnectionString = "goodConnection"; IDataAccessStrategy da = new MockDataAccessStrategy(rs); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(rs, da); IDataNavigator dataNav = dm.GetNavigator; Assert.IsNotNull(dataNav, "Navigator should not be 'null'"); }
public void DataNavigatorCorrectPosition() { ReportSettings rs = new ReportSettings(); rs.ConnectionString = "goodConnection"; IDataAccessStrategy da = new MockDataAccessStrategy(rs); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(rs, da); IDataNavigator dataNav = dm.GetNavigator; Assert.AreEqual(-1, dataNav.CurrentRow); }
public void DataNavigatorCountEqualListCount() { IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection as System.Collections.IList, new ReportSettings()); Assert.IsNotNull(dm); IDataNavigator dataNav = dm.GetNavigator; Assert.AreEqual(this.contributorCollection.Count, dataNav.Count, "Count of LstItems should be equal"); }
public void DataNavigatorCountEqualListCount() { ReportSettings rs = new ReportSettings(); rs.ConnectionString = "goodConnection"; IDataAccessStrategy da = new MockDataAccessStrategy(rs); IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(rs, da); IDataNavigator dataNav = dm.GetNavigator; Assert.AreEqual(this.contributorsList.ContributorCollection.Count, dataNav.Count, "Count of elements in Navigator should be equal listCount"); }
protected void FinishRendering(IDataNavigator dataNavigator) { if (this.Pages.Count == 0) { return; } foreach (ExporterPage page in this.pages) { page.TotalPages = this.Pages.Count; page.IDataNavigator = dataNavigator; EvaluatorFacade.SinglePage = page; EvaluateRecursive(EvaluatorFacade, page.Items); } }
private List <object> SetupDataSource(object data, IDataNavigator navigator) { navigator.Reset(); List <object> list = new List <object>(); while (navigator.MoveNext()) { CurrentItemsCollection row = navigator.GetDataRow(); CurrentItem ci = null; if (data != null) { ci = row.Find(data.ToString()); } else { ci = row.Find(row[0].ColumnName); } // s1 = Convert.ToString(row.Find(data.ToString()).Value.ToString(),CultureInfo.CurrentCulture); if (ci != null) { object s1 = Convert.ToString(ci.Value.ToString(), CultureInfo.CurrentCulture); if (IsNumeric(s1)) { list.Add(Convert.ToDouble(s1, System.Globalization.CultureInfo.CurrentCulture)); } else { list.Add(true); } } else { string str = String.Format("<{0}> not found in AggregateFunction", data.ToString()); throw new FieldNotFoundException(str); } // s1 = Convert.ToString(ci.Value.ToString(),CultureInfo.CurrentCulture); // // // if (IsNumeric(s1)) { // list.Add(Convert.ToDouble(s1,System.Globalization.CultureInfo.CurrentCulture)); // } else { // list.Add(true); // } } return(list); }
public BaseConverter(IReportModel reportModel,IDataNavigator dataNavigator,ExporterPage singlePage) { if (dataNavigator == null) { throw new ArgumentNullException("dataNavigator"); } if (singlePage == null) { throw new ArgumentNullException("singlePage"); } this.ReportModel = reportModel; this.SinglePage = singlePage; this.DataNavigator = dataNavigator; this.Layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); this.Evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.DataNavigator); }
public static IBaseRenderer CreateRenderer (BaseReportItem itemToConvert,IDataNavigator dataNavigator, ISinglePage singlePage,ILayouter layouter,BaseSection section) { Type t = itemToConvert.GetType(); if (t.Equals(typeof(BaseTableItem))) { return new RenderTable(dataNavigator,Rectangle.Empty,singlePage,layouter,section); } if (t.Equals(typeof(BaseRowItem))) { // return new GroupedRowConverter (dataNavigator,singlePage,layouter); // Console.WriteLine("render Row"); } return null; }
public static IBaseConverter CreateConverter (BaseReportItem itemToConvert,IReportModel reportModel, IDataNavigator dataNavigator,ExporterPage singlePage) { Type t = itemToConvert.GetType(); if (t.Equals(typeof(BaseTableItem))) { return new GroupedTableConverter(reportModel,dataNavigator,singlePage); } if (t.Equals(typeof(BaseRowItem))) { return new GroupedRowConverter (reportModel,dataNavigator,singlePage); } return null; }
public void DataNavigator_Return_ErrMessage_If_ColumnName_NotExist() { IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection as System.Collections.IList, new ReportSettings()); IDataNavigator dataNav = dm.GetNavigator; BaseDataItem item = new BaseDataItem(); item.ColumnName = "ColumnNotExist"; var items = new ReportItemCollection(); items.Add(item); dataNav.Fill(items); string str = "<" + item.ColumnName + ">"; Assert.That(item.DBValue.Contains(str)); }
public static IBaseConverter CreateConverter (BaseReportItem itemToConvert,IDataNavigator dataNavigator, ExporterPage singlePage,IExportItemsConverter exportItemsConverter,ILayouter layouter) { Type t = itemToConvert.GetType(); if (t.Equals(typeof(BaseTableItem))) { return new TableConverter(dataNavigator,singlePage,exportItemsConverter,layouter); } if (t.Equals(typeof(BaseRowItem))) { return new RowConverter (dataNavigator,singlePage,exportItemsConverter,layouter); } return null; }
private void RecursiveCall(IDataNavigator startNavigator) { do { DataRow r = startNavigator.Current as DataRow; string v1 = r["last"].ToString() + " :" + r[3].ToString(); Console.WriteLine("\t {0}", v1); if (startNavigator.HasChildren) { IDataNavigator child = startNavigator.GetChildNavigator(); Console.WriteLine("header {0} - Child_Count:{1}", v1, child.Count); RecursiveCall(child); } } while (startNavigator.MoveNext()); }
private void WritePages() { this.dataNavigator = this.dataManager.GetNavigator; this.BuildNewPage(); this.dataNavigator.MoveNext(); BaseSection section = base.ReportModel.DetailSection; section.SectionOffset = base.SinglePage.SectionBounds.DetailStart.Y; this.BuildDetail(section, dataNavigator); this.BuildReportFooter(SectionBounds.ReportFooterRectangle); this.BuildPageFooter(); //this is the last Page this.AddPage(base.SinglePage); base.FinishRendering(this.dataNavigator); }
public void EnumeratorStartFromBegin() { IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table, new ReportSettings()); IDataNavigator dn = dm.GetNavigator; dn.MoveNext(); int start = 0; do { DataRow v = dn.Current as DataRow; start++; }while (dn.MoveNext()); Assert.AreEqual(this.table.Rows.Count, start); }
public void EnumeratorStartFromBegin() { IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection, new ReportSettings()); IDataNavigator dataNav = dm.GetNavigator; dataNav.MoveNext(); int start = 0; do { Contributor view = dataNav.Current as Contributor; start++; }while (dataNav.MoveNext()); Assert.AreEqual(this.contributorCollection.Count, start); }
public static IBaseConverter CreateConverter(BaseReportItem itemToConvert, IDataNavigator dataNavigator, ExporterPage singlePage, IExportItemsConverter exportItemsConverter, ILayouter layouter) { Type t = itemToConvert.GetType(); if (t.Equals(typeof(BaseTableItem))) { return(new TableConverter(dataNavigator, singlePage, exportItemsConverter, layouter)); } if (t.Equals(typeof(BaseRowItem))) { return(new RowConverter(dataNavigator, singlePage, exportItemsConverter, layouter)); } return(null); }
public void RangeEnumeratorThrowExceptionIfStartGreateEnd() { IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection, new ReportSettings()); IDataNavigator dn = dm.GetNavigator; int start = 10; int end = 5; System.Collections.IEnumerator en = dn.RangeEnumerator(start, end); while (en.MoveNext()) { object o = en.Current; Contributor view = en.Current as Contributor; start++; } Assert.AreEqual(start - 1, dn.CurrentRow); }
protected void FinishRendering(IDataNavigator dataNavigator) { if (this.Pages.Count == 0) { return; } IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(this.SinglePage); foreach (ExporterPage p in this.pages) { p.TotalPages = this.Pages.Count; p.IDataNavigator = dataNavigator; evaluatorFacade.SinglePage = p; EvaluateRecursive(evaluatorFacade, p.Items); } }
public void RangeEnumeratorStartFromBegin() { IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table, new ReportSettings()); IDataNavigator dn = dm.GetNavigator; int start = 0; int end = 10; System.Collections.IEnumerator en = dn.RangeEnumerator(start, end); while (en.MoveNext()) { DataRow row = en.Current as DataRow; start++; } Assert.AreEqual(start - 1, dn.CurrentRow); }
public static IBaseRenderer CreateRenderer(BaseReportItem itemToConvert, IDataNavigator dataNavigator, ISinglePage singlePage, ILayouter layouter, BaseSection section) { Type t = itemToConvert.GetType(); if (t.Equals(typeof(BaseTableItem))) { Console.WriteLine("render Table"); return(new RenderTable(dataNavigator, Rectangle.Empty, singlePage, layouter, section)); } if (t.Equals(typeof(BaseRowItem))) { // return new GroupedRowConverter (dataNavigator,singlePage,layouter); Console.WriteLine("render Row"); } return(null); }
public static IBaseConverter CreateConverter(BaseReportItem itemToConvert, IReportModel reportModel, IDataNavigator dataNavigator, ExporterPage singlePage) { Type t = itemToConvert.GetType(); if (t.Equals(typeof(BaseTableItem))) { return(new GroupedTableConverter(reportModel, dataNavigator, singlePage)); } if (t.Equals(typeof(BaseRowItem))) { return(new GroupedRowConverter(reportModel, dataNavigator, singlePage)); } return(null); }
public RecordSearchViewModel(RecordSearch search, IDataNavigator navigator, Action closeAction) { _Navigator = navigator; Search = search; Apply = new RelayCommand(() => { Search.Apply(); closeAction(); }); Cancel = new RelayCommand(closeAction); Clear = new RelayCommand(() => { Search.Take = 0; _FilterGroups.Clear(); }); }
public BaseConverter(IDataNavigator dataNavigator,ExporterPage singlePage, ILayouter layouter) { if (dataNavigator == null) { throw new ArgumentNullException("dataNavigator"); } if (singlePage == null) { throw new ArgumentNullException("singlePage"); } if (layouter == null) { throw new ArgumentNullException("layouter"); } this.SinglePage = singlePage; this.DataNavigator = dataNavigator; SectionBounds = this.SinglePage.SectionBounds; this.Layouter = layouter; this.Evaluator = StandardPrinter.CreateEvaluator(this.SinglePage,this.DataNavigator); }
public BaseConverter(IDataNavigator dataNavigator,ExporterPage singlePage, IExportItemsConverter exportItemsConverter,ILayouter layouter) { if (dataNavigator == null) { throw new ArgumentNullException("dataNavigator"); } if (singlePage == null) { throw new ArgumentNullException("singlePage"); } if (exportItemsConverter == null) { throw new ArgumentNullException("exportItemsConverter"); } if (layouter == null) { throw new ArgumentNullException("layouter"); } this.singlePage = singlePage; this.dataNavigator = dataNavigator; this.sectionBounds = this.singlePage.SectionBounds; this.exportItemsConverter = exportItemsConverter; this.layouter = layouter; }
public RowConverter(IDataNavigator dataNavigator, ExporterPage singlePage, IExportItemsConverter exportItemsConverter, ILayouter layouter):base(dataNavigator,singlePage,exportItemsConverter,layouter) { }
protected void FinishRendering (IDataNavigator dataNavigator) { if (this.Pages.Count == 0) { return; } foreach (ExporterPage page in this.pages) { page.TotalPages = this.Pages.Count; page.IDataNavigator = dataNavigator; EvaluatorFacade.SinglePage = page; EvaluateRecursive(EvaluatorFacade,page.Items); } }
private void RecursiveCall (IDataNavigator startNavigator) { do { DataRow r = startNavigator.Current as DataRow; string v1 = r["last"].ToString() + " :" + r[3].ToString(); Console.WriteLine("\t {0}",v1); if (startNavigator.HasChildren) { IDataNavigator child = startNavigator.GetChildNavigator(); Console.WriteLine("header {0} - Child_Count:{1}",v1,child.Count); RecursiveCall (child); } } while (startNavigator.MoveNext()); }
public GroupedRowConverter(IReportModel reportModel,IDataNavigator dataNavigator, ExporterPage singlePage):base(reportModel,dataNavigator,singlePage) { }
protected void FinishRendering (IDataNavigator dataNavigator) { if (this.Pages.Count == 0) { return; } IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(this.SinglePage); foreach (ExporterPage p in this.pages) { p.TotalPages = this.Pages.Count; p.IDataNavigator = dataNavigator; evaluatorFacade.SinglePage = p; EvaluateRecursive(evaluatorFacade,p.Items); } }
protected static void FillRow (ISimpleContainer row,IDataNavigator currentNavigator) { currentNavigator.Fill(row.Items); }
public TableConverter(IDataNavigator dataNavigator, ExporterPage singlePage, ILayouter layouter ):base(dataNavigator,singlePage,layouter) { }
protected static void FillRow (ISimpleContainer row,IDataNavigator currentNavigator) { Console.WriteLine("\tFillrow"); currentNavigator.Fill(row.Items); }
public GroupedRowConverter(IDataNavigator dataNavigator, ExporterPage singlePage, ILayouter layouter):base(dataNavigator,singlePage,layouter) { }
private void WritePages () { this.dataNavigator = this.dataManager.GetNavigator; this.BuildNewPage(); this.dataNavigator.MoveNext(); BaseSection section = base.ReportModel.DetailSection; section.SectionOffset = base.SinglePage.SectionBounds.DetailStart.Y; var p = this.BuildDetail (section,dataNavigator); var r = new Rectangle (SectionBounds.ReportFooterRectangle.Left,p.Y, SectionBounds.ReportFooterRectangle.Size.Width, SectionBounds.ReportFooterRectangle.Size.Height); this.BuildReportFooter(r); this.BuildPageFooter(); //this is the last Page this.AddPage(base.SinglePage); base.FinishRendering(this.dataNavigator); }
protected Point BuildDetail (BaseSection section,IDataNavigator dataNavigator) { ExporterCollection convertedList = new ExporterCollection(); foreach (BaseReportItem item in section.Items) { IBaseConverter baseConverter = ConverterFactory.CreateConverter(item,dataNavigator, this.SinglePage, base.Layouter); if (baseConverter != null) { baseConverter.SectionRendering += OnSectionRendering; baseConverter.Graphics = base.Graphics; baseConverter.PageFull += new EventHandler<NewPageEventArgs>(OnPageFull); convertedList = baseConverter.Convert(section,item); base.SinglePage.Items.AddRange(convertedList); return baseConverter.CurrentPosition; } } return Point.Empty; }
private void DataBind() { this.dataViewStrategy.Bind(); this.dataNavigator = new DataNavigator(this.dataViewStrategy); }
public RecordSearchViewModelDesign(IDataNavigator dataNavigator) : base(_Search, dataNavigator, () => { }) { }
protected void FinishRendering (IDataNavigator navigator) { if (this.Pages.Count == 0) { return; } // set values known only end of reportcreation foreach (ExporterPage p in this.pages) { p.TotalPages = this.Pages.Count; } IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(); foreach (ExporterPage p in this.pages) { this.singlePage = p; evaluatorFacade.SinglePage = this.singlePage; evaluatorFacade.SinglePage.IDataNavigator = navigator; EvaluateRecursive(evaluatorFacade,p.Items); } }