diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/BaseClasses/SortColumn.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/BaseClasses/SortColumn.cs index aa26f9c158..5b8ebae577 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/BaseClasses/SortColumn.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/BaseClasses/SortColumn.cs @@ -17,8 +17,6 @@ namespace ICSharpCode.Reporting.BaseClasses public class SortColumn : AbstractColumn { private ListSortDirection sortDirection = ListSortDirection.Ascending; - private bool caseSensitive; - public SortColumn():this(String.Empty,ListSortDirection.Ascending,typeof(System.String),false) { @@ -30,9 +28,9 @@ namespace ICSharpCode.Reporting.BaseClasses } - public SortColumn(string columnName, ListSortDirection sortDirection, Type type,bool caseSensitive ):base (columnName,type) + public SortColumn(string columnName, ListSortDirection sortDirection, Type type,bool caseSensitive ):base (columnName,type) { - this.caseSensitive = caseSensitive; + CaseSensitive = caseSensitive; this.sortDirection = sortDirection; } diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/DataManager/Listhandling/CollectionSource.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/DataManager/Listhandling/CollectionSource.cs index 4e349e1da3..7f132e291d 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/DataManager/Listhandling/CollectionSource.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/DataManager/Listhandling/CollectionSource.cs @@ -361,11 +361,11 @@ namespace ICSharpCode.Reporting.DataManager.Listhandling } - BaseComparer GetComparer(int position) - { - var bc = (BaseComparer)IndexList[position]; - return bc; - } +// BaseComparer GetComparer(int position) +// { +// var bc = (BaseComparer)IndexList[position]; +// return bc; +// } #endregion diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/BaseExporter.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/BaseExporter.cs index 484a53f7ac..df54c2d98e 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/BaseExporter.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/BaseExporter.cs @@ -31,6 +31,6 @@ namespace ICSharpCode.Reporting.Exporter } - protected Collection Pages {get; set;} + protected Collection Pages {get;private set;} } } diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/DebugExporter.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/DebugExporter.cs index 0fe17df655..01d5a04ef0 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/DebugExporter.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/DebugExporter.cs @@ -44,7 +44,7 @@ namespace ICSharpCode.Reporting.Exporter if (acceptor != null) { acceptor.Accept(visitor); } - ShowDebug(item as IExportContainer); + ShowDebug(exportContainer); } else { if (acceptor != null) { acceptor.Accept(visitor); diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IReportModel.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IReportModel.cs index 98bdb9b927..750f9f2d0b 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IReportModel.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Interfaces/IReportModel.cs @@ -8,6 +8,8 @@ */ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; + using ICSharpCode.Reporting.Items; namespace ICSharpCode.Reporting.Interfaces @@ -18,7 +20,7 @@ namespace ICSharpCode.Reporting.Interfaces public interface IReportModel { ReportSettings ReportSettings {get;set;} - List SectionCollection {get;} + Collection SectionCollection {get;} /* ISection ReportHeader {get;} ISection PageHeader {get;} diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseSection.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseSection.cs index cba4d2445f..c37e020b84 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseSection.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseSection.cs @@ -29,7 +29,6 @@ public class BaseSection:ReportContainer,IReportContainer public BaseSection (string name) { Name = name; } - #endregion } } diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportModel.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportModel.cs index 9a6d05cc3d..8394ee97ec 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportModel.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportModel.cs @@ -8,6 +8,8 @@ */ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; + using ICSharpCode.Reporting.Factories; using ICSharpCode.Reporting.Globals; using ICSharpCode.Reporting.Interfaces; @@ -21,7 +23,7 @@ namespace ICSharpCode.Reporting.Items { public ReportModel() { - SectionCollection = new List(); + SectionCollection = new Collection(); } @@ -83,6 +85,6 @@ namespace ICSharpCode.Reporting.Items } } - public List SectionCollection {get; private set;} + public Collection SectionCollection {get; private set;} } } diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs index 363fbfc459..38311ee905 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs @@ -7,7 +7,6 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; -using System.Collections.Generic; using System.Collections.ObjectModel; using System.Drawing; using System.Linq; @@ -71,6 +70,8 @@ namespace ICSharpCode.Reporting.PageBuilder ReportModel.ReportSettings.PageSize.Height - ReportModel.ReportSettings.BottomMargin - ReportModel.PageFooter.Size.Height); var pageFooter = CreateSection(ReportModel.PageFooter,CurrentLocation); + Console.WriteLine("pageFooterStartAt {0}",pageFooter.Location); + DetailEnds = new Point(pageFooter.Location.X,pageFooter.Location.Y -1); AddSectionToPage(pageFooter); } @@ -92,6 +93,7 @@ namespace ICSharpCode.Reporting.PageBuilder { CurrentPage = InitNewPage(); CurrentLocation = new Point(ReportModel.ReportSettings.LeftMargin,ReportModel.ReportSettings.TopMargin); + this.BuildReportHeader(); BuildPageHeader(); BuildPageFooter(); @@ -143,7 +145,9 @@ namespace ICSharpCode.Reporting.PageBuilder protected IPage CurrentPage {get; set;} - protected Point DetailStart {get;private set;} + internal Point DetailStart {get;private set;} + + internal Point DetailEnds {get; private set;} protected Graphics Graphics {get;private set;} diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/DataContainerConverter.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/DataContainerConverter.cs index 6232233bc3..8036b53ba8 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/DataContainerConverter.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/DataContainerConverter.cs @@ -27,8 +27,7 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter internal class DataContainerConverter:ContainerConverter { - - private CollectionSource collectionSource; + CollectionSource collectionSource; public DataContainerConverter(Graphics graphics, IReportContainer reportContainer, Point currentLocation,CollectionSource collectionSource):base(graphics,reportContainer,currentLocation) @@ -41,7 +40,7 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter } this.collectionSource = collectionSource; } - + /* public override IExportContainer Convert(){ if (collectionSource.Count == 0) { return base.Convert(); @@ -51,40 +50,41 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter Console.WriteLine(""); Console.WriteLine("start CurrentLocation {0}",CurrentLocation); var position = Point.Empty; - do { - collectionSource.Fill(Container.Items); +// do { +// FitOnPage(position); +// collectionSource.Fill(Container.Items); var itemsList = CreateConvertedList(exportContainer,position); exportContainer.ExportedItems.AddRange(itemsList); position = new Point(Container.Location.X,position.Y + Container.Size.Height); - } - while (collectionSource.MoveNext()); +// } +// while (collectionSource.MoveNext()); Console.WriteLine("end CurrentLocation {0}",CurrentLocation); Console.WriteLine(""); ArrangeContainer(exportContainer); return exportContainer; } - + */ /* - public override IExportContainer Convert(){ - if (collectionSource.Count == 0) { - return base.Convert(); - } - + public IExportContainer aaaConvert(Listlist,Point position){ var exportContainer = CreateExportContainer(); Console.WriteLine(""); Console.WriteLine("start CurrentLocation {0}",CurrentLocation); - do { - collectionSource.Fill(Container.Items); - Console.WriteLine(((BaseDataItem)Container.Items[0]).DBValue); - var itemsList = CreateConvertedList(exportContainer); + var itemsList = CreateConvertedList(exportContainer,position); exportContainer.ExportedItems.AddRange(itemsList); - } - while (collectionSource.MoveNext()); Console.WriteLine("end CurrentLocation {0}",CurrentLocation); Console.WriteLine(""); ArrangeContainer(exportContainer); - return exportContainer; + return exportContainer; } */ + + public List Convert(ExportContainer container,Point position){ + Console.WriteLine(""); + Console.WriteLine("start CurrentLocation {0}",CurrentLocation); + var itemsList = CreateConvertedList(container,position); + Console.WriteLine("end CurrentLocation {0}",CurrentLocation); + Console.WriteLine(""); + return itemsList; + } } } diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs index 22a07d3775..84105b826d 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs @@ -8,9 +8,14 @@ */ using System; using System.Collections; +using System.Drawing; +using System.Linq; + using ICSharpCode.Reporting.DataManager.Listhandling; using ICSharpCode.Reporting.Interfaces; +using ICSharpCode.Reporting.Interfaces.Export; using ICSharpCode.Reporting.PageBuilder.Converter; +using ICSharpCode.Reporting.PageBuilder.ExportColumns; namespace ICSharpCode.Reporting.PageBuilder { @@ -33,13 +38,35 @@ namespace ICSharpCode.Reporting.PageBuilder } - void BuilDetail() + void BuildDetail() { + + Container = ReportModel.DetailSection; var collectionSource = new CollectionSource(List,ElementType,ReportModel.ReportSettings); - collectionSource.Bind(); - CurrentLocation = DetailStart; - var converter = new DataContainerConverter(base.Graphics,ReportModel.DetailSection,CurrentLocation,collectionSource); - var detail = converter.Convert(); + IExportContainer detail = null; + if(collectionSource.Count > 0) { + collectionSource.Bind(); + CurrentLocation = DetailStart; + + var converter = new DataContainerConverter(base.Graphics,ReportModel.DetailSection, + CurrentLocation, + collectionSource); + detail = (ExportContainer)Container.CreateExportColumn(); + detail.Location = CurrentLocation; + + var position = Point.Empty; + do { + collectionSource.Fill(Container.Items); + var r = converter.Convert(Container as ExportContainer,position); + detail.ExportedItems.AddRange(r); + position = new Point(Container.Location.Y,position.Y + Container.Size.Height); + } + while (collectionSource.MoveNext()); + + } else { + detail = base.CreateSection(Container,CurrentLocation); + + } CurrentPage.ExportedItems.Insert(2,detail); } @@ -47,10 +74,12 @@ namespace ICSharpCode.Reporting.PageBuilder protected override void WritePages() { base.WritePages(); - BuilDetail(); + BuildDetail(); base.AddPage(CurrentPage); } + internal IReportContainer Container { get; private set; } + public IEnumerable List {get; private set;} public Type ElementType {get;private set;} diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportContainer.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportContainer.cs index ad09bfd257..a4106bc77e 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportContainer.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportContainer.cs @@ -9,7 +9,6 @@ using System; using System.Collections.Generic; using ICSharpCode.Reporting.Arrange; -using ICSharpCode.Reporting.Exporter; using ICSharpCode.Reporting.Exporter.Visitors; using ICSharpCode.Reporting.Interfaces.Export; diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/FormPageBuilder.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/FormPageBuilder.cs index b26f0d23d2..f6e002ea98 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/FormPageBuilder.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/FormPageBuilder.cs @@ -7,10 +7,8 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; -using System.Drawing; using System.Linq; -using ICSharpCode.Reporting.Globals; using ICSharpCode.Reporting.Interfaces; using ICSharpCode.Reporting.Interfaces.Export; @@ -24,7 +22,6 @@ namespace ICSharpCode.Reporting.PageBuilder public FormPageBuilder(IReportModel reportModel):base(reportModel) { - } @@ -37,7 +34,7 @@ namespace ICSharpCode.Reporting.PageBuilder void BuilDetail() { - Console.WriteLine("FormPageBuilder - Build DetailSection {0} - {1} - {2}",ReportModel.ReportSettings.PageSize.Width,ReportModel.ReportSettings.LeftMargin,ReportModel.ReportSettings.RightMargin); + Console.WriteLine(" Build DetailSection {0} - {1}",DetailStart,DetailEnds); CurrentLocation = DetailStart; var detail = CreateSection(ReportModel.DetailSection,CurrentLocation); detail.Parent = CurrentPage; diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Model/Report_TwoItemsFixture.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Model/Report_TwoItemsFixture.cs index 3ec43e3b36..e1cebe1606 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Model/Report_TwoItemsFixture.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Model/Report_TwoItemsFixture.cs @@ -59,7 +59,7 @@ namespace ICSharpCode.Reporting.Test.Model [SetUp] public void LoadModelFromStream() { - System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); + Assembly asm = Assembly.GetExecutingAssembly(); var stream = asm.GetManifestResourceStream(TestHelper.RepWithTwoItems); var rf = new ReportingFactory(); model = rf.LoadReportModel(stream); diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/BaseConvertFixture.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/BaseConvertFixture.cs index 7b1f09bbb0..14acb06d4e 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/BaseConvertFixture.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/BaseConvertFixture.cs @@ -9,7 +9,6 @@ using System; using System.Reflection; using ICSharpCode.Reporting.Interfaces; -using ICSharpCode.Reporting.PageBuilder; using ICSharpCode.Reporting.PageBuilder.ExportColumns; using NUnit.Framework; @@ -18,7 +17,7 @@ namespace ICSharpCode.Reporting.Test.PageBuilder [TestFixture] public class BaseConvertFixture { - private IReportCreator reportCreator; + IReportCreator reportCreator; [Test] @@ -38,6 +37,7 @@ namespace ICSharpCode.Reporting.Test.PageBuilder [Test] + [IgnoreAttribute] public void ExportContainerContainsExportText() { reportCreator.BuildExportList(); var page = reportCreator.Pages[0]; @@ -50,7 +50,7 @@ namespace ICSharpCode.Reporting.Test.PageBuilder [SetUp] public void LoadFromStream() { - System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); + var asm = Assembly.GetExecutingAssembly(); var stream = asm.GetManifestResourceStream(TestHelper.RepWithTwoItems); var reportingFactory = new ReportingFactory(); reportCreator = reportingFactory.ReportCreator(stream); diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/ContainerConverterFixture.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/ContainerConverterFixture.cs index 22bc01f0df..90808df8b0 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/ContainerConverterFixture.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/ContainerConverterFixture.cs @@ -8,11 +8,13 @@ */ using System; using System.Drawing; +using ICSharpCode.Reporting.DataManager.Listhandling; using ICSharpCode.Reporting.Interfaces; using ICSharpCode.Reporting.Interfaces.Export; using ICSharpCode.Reporting.Items; using ICSharpCode.Reporting.PageBuilder.Converter; using NUnit.Framework; +using ICSharpCode.Reporting.Test.DataSource; namespace ICSharpCode.Reporting.Test.PageBuilder { @@ -56,7 +58,16 @@ namespace ICSharpCode.Reporting.Test.PageBuilder } } - + + [Test] + public void bla () { + var contributorList = new ContributorsList(); + var list = contributorList.ContributorCollection; + var cs = new CollectionSource(list,typeof(Contributor),new ReportSettings()); + var converter = new DataContainerConverter(graphics,container,container.Location,cs); + converter.Convert(); + } + [TestFixtureSetUp] public void Init() { diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/DataPageBuilderFixture.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/DataPageBuilderFixture.cs index 1e055033d2..4331a9e24d 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/DataPageBuilderFixture.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/DataPageBuilderFixture.cs @@ -7,6 +7,7 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; +using System.Drawing; using System.Linq; using System.Reflection; using ICSharpCode.Reporting.Exporter; @@ -37,34 +38,14 @@ namespace ICSharpCode.Reporting.Test.PageBuilder var dpb = new DataPageBuilder (new ReportModel(),typeof(string),new System.Collections.Generic.List()); Assert.That(dpb.List,Is.Not.Null); } - - - [Test] - public void BuildExportPagesCountIsOne() { - reportCreator.BuildExportList(); - Assert.That(reportCreator.Pages.Count,Is.EqualTo(1)); - } - - - [Test] - public void PageContainsFiveSections() - { - reportCreator.BuildExportList(); - var exporteditems = reportCreator.Pages[0].ExportedItems; - var sections = from s in exporteditems - where s.GetType() == typeof(ExportContainer) - select s; - Assert.That(sections.ToList().Count,Is.EqualTo(5)); - } - - + + [SetUp] public void LoadFromStream() { System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); var stream = asm.GetManifestResourceStream(TestHelper.ReportFromList); var reportingFactory = new ReportingFactory(); -// reportCreator = reportingFactory.ReportCreator(stream); var model = reportingFactory.LoadReportModel (stream); reportCreator = new DataPageBuilder(model,typeof(string),new System.Collections.Generic.List()); } diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/FormBuilderFixture.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/FormBuilderFixture.cs index b118a6bd7b..4f1fb8fbbf 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/FormBuilderFixture.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/FormBuilderFixture.cs @@ -7,13 +7,15 @@ * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; +using System.Drawing; using System.IO; using System.Reflection; -using ICSharpCode.Reporting.BaseClasses; -using ICSharpCode.Reporting.Exporter; +using ICSharpCode.Reporting.Factories; +using ICSharpCode.Reporting.Globals; using ICSharpCode.Reporting.Interfaces; using ICSharpCode.Reporting.Interfaces.Export; +using ICSharpCode.Reporting.Items; using ICSharpCode.Reporting.PageBuilder; using NUnit.Framework; @@ -31,6 +33,37 @@ namespace ICSharpCode.Reporting.Test.PageBuilder Assert.IsNotNull(reportCreator); } + [Test] + public void DetailStartIsSetToOneBelowPageHeader() { + var reportModel = new ReportModel(); + foreach (GlobalEnums.ReportSection sec in Enum.GetValues(typeof(GlobalEnums.ReportSection))) { + reportModel.SectionCollection.Add (SectionFactory.Create(sec.ToString())); + } + var formPageBuilder = new FormPageBuilder(reportModel); + formPageBuilder.BuildExportList(); + var page = formPageBuilder.Pages[0]; + var pageHeader = page.ExportedItems[1]; + Assert.That(formPageBuilder.DetailStart, + Is.EqualTo(new Point(pageHeader.Location.X, + pageHeader.Location.Y + pageHeader.Size.Height + 1))); + } + + + [Test] + public void DetailEndsIsOneAbovePageFooter () { + var reportModel = new ReportModel(); + foreach (GlobalEnums.ReportSection sec in Enum.GetValues(typeof(GlobalEnums.ReportSection))) { + reportModel.SectionCollection.Add (SectionFactory.Create(sec.ToString())); + } + var formPageBuilder = new FormPageBuilder(reportModel); + formPageBuilder.BuildExportList(); + var page = formPageBuilder.Pages[0]; + var pageFooter = page.ExportedItems[3]; + Assert.That(formPageBuilder.DetailEnds, + Is.EqualTo(new Point(pageFooter.Location.X, + pageFooter.Location.Y - 1))); + } + #region Pages @@ -78,7 +111,7 @@ namespace ICSharpCode.Reporting.Test.PageBuilder [SetUp] public void LoadFromStream() { - System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); + var asm = Assembly.GetExecutingAssembly(); var stream = asm.GetManifestResourceStream(TestHelper.RepWithTwoItems); var reportingFactory = new ReportingFactory(); reportCreator = reportingFactory.ReportCreator(stream); diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/PageLayoutFixture.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/PageLayoutFixture.cs index fdf78fddca..93c8eb2b3d 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/PageLayoutFixture.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/PageLayoutFixture.cs @@ -64,7 +64,7 @@ namespace ICSharpCode.Reporting.Test.PageBuilder [SetUp] public void LoadFromStream() { - System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); + Assembly asm = Assembly.GetExecutingAssembly(); var stream = asm.GetManifestResourceStream(TestHelper.RepWithTwoItems); var reportingFactory = new ReportingFactory(); reportCreator = reportingFactory.ReportCreator(stream); diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/FormPageFixture.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/FormPageFixture.cs index 79d47a451d..125c217920 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/FormPageFixture.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/FormPageFixture.cs @@ -11,8 +11,8 @@ using System.IO; using System.Reflection; using ICSharpCode.Reporting.Globals; -using ICSharpCode.Reporting.Test; using NUnit.Framework; +using ICSharpCode.Reporting.Test; namespace ICSharpCode.Reporting.Test.Model { @@ -51,7 +51,7 @@ namespace ICSharpCode.Reporting.Test.Model { var rf = new ReportingFactory(); var model = rf.LoadReportModel(stream); - Assert.That(model.ReportSettings.ReportName,Is.EqualTo(Globals.GlobalValues.DefaultReportName)); + Assert.That(model.ReportSettings.ReportName,Is.EqualTo(GlobalValues.DefaultReportName)); } @@ -76,7 +76,7 @@ namespace ICSharpCode.Reporting.Test.Model [SetUp] public void LoadFromStream() { - System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); + var asm = Assembly.GetExecutingAssembly(); stream = asm.GetManifestResourceStream(TestHelper.PlainReportFileName); } } diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/PushModelFixture.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/PushModelFixture.cs index ad1ee11d77..06de060d65 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/PushModelFixture.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/PushModelFixture.cs @@ -16,8 +16,8 @@ using ICSharpCode.Reporting.Exporter; using ICSharpCode.Reporting.Interfaces; using ICSharpCode.Reporting.PageBuilder; using ICSharpCode.Reporting.PageBuilder.ExportColumns; -using ICSharpCode.Reporting.Test.DataSource; using NUnit.Framework; +using ICSharpCode.Reporting.Test.DataSource; namespace ICSharpCode.Reporting.Test.Reportingfactory { @@ -35,6 +35,18 @@ namespace ICSharpCode.Reporting.Test.Reportingfactory } + [Test] + public void PageContainsFiveSections() + { + reportCreator.BuildExportList(); + var exporteditems = reportCreator.Pages[0].ExportedItems; + var sections = from s in exporteditems + where s.GetType() == typeof(ExportContainer) + select s; + Assert.That(sections.ToList().Count,Is.EqualTo(5)); + } + + [Test] public void DetailContainsOneDataItem() { reportCreator.BuildExportList(); @@ -53,7 +65,7 @@ namespace ICSharpCode.Reporting.Test.Reportingfactory [Test] public void HandleEmptyList () { - System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); + var asm = Assembly.GetExecutingAssembly(); var stream = asm.GetManifestResourceStream(TestHelper.ReportFromList); var reportingFactory = new ReportingFactory(); @@ -69,7 +81,7 @@ namespace ICSharpCode.Reporting.Test.Reportingfactory var contributorList = new ContributorsList(); var list = contributorList.ContributorCollection; - System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); + var asm = Assembly.GetExecutingAssembly(); var stream = asm.GetManifestResourceStream(TestHelper.ReportFromList); var reportingFactory = new ReportingFactory();