diff --git a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs
index 6792c2589e..6fe6fe4694 100644
--- a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs
+++ b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs
@@ -7,6 +7,9 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
+using System.IO;
+using System.Reflection;
+
using NUnit.Framework;
namespace ICSharpCode.Reporting.Tests.Factory
@@ -14,10 +17,23 @@ namespace ICSharpCode.Reporting.Tests.Factory
[TestFixture]
public class ReportingFactoryFixture
{
+ private const string nS = "ICSharpCode.Reporting.Tests.TestReports.";
+ private const string reportName = "PlainModel.srd";
+ private Stream stream;
+
[Test]
- public void TestMethod()
+ public void CreateFormSheetBuilder()
+ {
+ var r = new ReportingFactory();
+ var x = r.CreatePageBuilder(stream);
+ Assert.That(x,Is.Null);
+ }
+
+ [SetUp]
+ public void LoadFromStream()
{
- // TODO: Add your test.
+ System.Reflection.Assembly asm = Assembly.GetExecutingAssembly();
+ stream = asm.GetManifestResourceStream(nS + reportName);
}
}
}
diff --git a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs
index 023109e9e8..75a05a7d29 100644
--- a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs
+++ b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs
@@ -10,6 +10,7 @@ using System;
using System.IO;
using System.Reflection;
+using ICSharpCode.Reporting.Globals;
using NUnit.Framework;
namespace ICSharpCode.Reporting.Tests.Model
@@ -32,7 +33,7 @@ namespace ICSharpCode.Reporting.Tests.Model
public void LoadPlainModel()
{
var rf = new ReportingFactory();
- var model = rf.LoadReport(stream);
+ var model = rf.LoadReportModel(stream);
Assert.IsNotNull(model);
}
@@ -41,7 +42,7 @@ namespace ICSharpCode.Reporting.Tests.Model
public void ReportSettingsFromPlainModel()
{
var rf = new ReportingFactory();
- var model = rf.LoadReport(stream);
+ var model = rf.LoadReportModel(stream);
Assert.That(model.ReportSettings,Is.Not.Null);
}
@@ -50,16 +51,24 @@ namespace ICSharpCode.Reporting.Tests.Model
public void ReportSettingsReportName()
{
var rf = new ReportingFactory();
- var model = rf.LoadReport(stream);
+ var model = rf.LoadReportModel(stream);
Assert.That(model.ReportSettings.ReportName,Is.EqualTo(Globals.GlobalValues.DefaultReportName));
}
+ [Test]
+ public void ReportSettingsDataModelFormSheet()
+ {
+ var rf = new ReportingFactory();
+ var model = rf.LoadReportModel(stream);
+ Assert.That(model.ReportSettings.DataModel,Is.EqualTo(GlobalEnums.PushPullModel.FormSheet));
+ }
+
[Test]
public void ReportSettingsPageSize()
{
var rf = new ReportingFactory();
- var model = rf.LoadReport(stream);
+ var model = rf.LoadReportModel(stream);
Assert.That(model.ReportSettings.PageSize,Is.EqualTo(Globals.GlobalValues.DefaultPageSize));
}
diff --git a/src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs b/src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs
index 44154949e9..02928d6523 100644
--- a/src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs
+++ b/src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs
@@ -13,7 +13,7 @@ namespace ICSharpCode.Reporting.Globals
///
/// Description of GlobalEnums.
///
- internal sealed class GlobalEnums
+ public class GlobalEnums
{
internal enum ReportSection {
ReportHeader,
@@ -22,5 +22,17 @@ namespace ICSharpCode.Reporting.Globals
ReportPageFooter,
ReportFooter
}
+
+ ///Technics to get the data
+ /// Push : report get's a ready filld dataset or something tah implements IList
+ /// Pull : report has to fill data by themself
+ /// FormSheet : FormSheet report, just labels and images are allowed
+ ///
+ ///
+ public enum PushPullModel {
+ PushData,
+ PullData,
+ FormSheet
+ }
}
}
diff --git a/src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs b/src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs
index c0cf143469..b6093d0e5e 100644
--- a/src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs
+++ b/src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs
@@ -7,6 +7,7 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
+using ICSharpCode.Reporting.Items;
namespace ICSharpCode.Reporting.Interfaces
{
@@ -15,13 +16,14 @@ namespace ICSharpCode.Reporting.Interfaces
///
public interface IReportModel
{
+ ReportSettings ReportSettings {get;set;}
/*
BaseSection ReportHeader {get;}
BaseSection PageHeader {get;}
BaseSection DetailSection {get;}
BaseSection PageFooter {get;}
BaseSection ReportFooter {get;}
- ReportSettings ReportSettings {get;set;}
+
GlobalEnums.PushPullModel DataModel {get;}
ReportSectionCollection SectionCollection {get;}
*/
diff --git a/src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs b/src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs
index df55380756..e540087f46 100644
--- a/src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs
+++ b/src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs
@@ -8,6 +8,7 @@
*/
using System;
using System.Drawing;
+using ICSharpCode.Reporting.Globals;
namespace ICSharpCode.Reporting.Items
{
@@ -34,7 +35,7 @@ namespace ICSharpCode.Reporting.Items
// this.DefaultFont = GlobalValues.DefaultFont;
// this.ReportType = GlobalEnums.ReportType.FormSheet;
//
-// this.DataModel = GlobalEnums.PushPullModel.FormSheet;
+ this.DataModel = GlobalEnums.PushPullModel.FormSheet;
//
// this.CommandType = System.Data.CommandType.Text;
// this.ConnectionString = String.Empty;
@@ -91,5 +92,8 @@ namespace ICSharpCode.Reporting.Items
// [Category("Page Settings")]
public bool Landscape {get;set;}
+
+// [Category("Data")]
+ public GlobalEnums.PushPullModel DataModel {get;set;}
}
}
diff --git a/src/AddIns/Misc/Reporting/Src/ReportingFactory.cs b/src/AddIns/Misc/Reporting/Src/ReportingFactory.cs
index fbdbabafc8..deddcff896 100644
--- a/src/AddIns/Misc/Reporting/Src/ReportingFactory.cs
+++ b/src/AddIns/Misc/Reporting/Src/ReportingFactory.cs
@@ -7,11 +7,12 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
-using System.Collections.Generic;
using System.Collections;
+using System.Collections.Generic;
using System.IO;
using System.Xml;
+using ICSharpCode.Reporting.Globals;
using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.Items;
using ICSharpCode.Reporting.Xml;
@@ -28,13 +29,25 @@ namespace ICSharpCode.Reporting
}
- public IReportCreator CreatePageBuilder (Stream stream, IList list)
+ public IReportCreator CreatePageBuilder (Stream stream)
{
+ IReportModel reportModel = LoadReportModel (stream);
+ IReportCreator builder = null;
+ if (reportModel.ReportSettings.DataModel == GlobalEnums.PushPullModel.FormSheet) {
+// builder = FormPageBuilder.CreateInstance(reportModel);
+ Console.WriteLine("aaaaaaaaaaaaaaaaa");
+ }
+// else {
+// CheckForParameters(reportModel,reportParameters);
+// IDataManager dataMan = DataManagerFactory.CreateDataManager(reportModel,reportParameters);
+// builder = DataPageBuilder.CreateInstance(reportModel, dataMan);
+// }
+ return builder;
return null;
}
- internal ReportModel LoadReport (Stream stream)
+ internal ReportModel LoadReportModel (Stream stream)
{
Console.WriteLine("ReportEngine:LoadReportModel_2");
var doc = new XmlDocument();