Browse Source

Merge branch 'origin/reports' into 4.1

4.1
Daniel Grunwald 14 years ago
parent
commit
5205d1d08f
  1. 2
      samples/SharpDevelopReports/src/ReportSamples.sln
  2. 16
      samples/SharpDevelopReports/src/SharpReportSamples/MainForm.Designer.cs
  3. 83
      samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs
  4. 8
      samples/SharpDevelopReports/src/SharpReportSamples/MainForm.resx
  5. 13
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerViewContent.cs
  6. 3
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.SQLServer/SQLServerDatabaseDriver.cs
  7. 20
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ExplorerCommands.cs
  8. 15
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ViewCommands.cs
  9. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs
  10. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextItemDesigner.cs
  11. 23
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs
  12. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerNodes.cs
  13. 110
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerTree.cs
  14. 13
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs
  15. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs
  16. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Dialogs/DummyEditorDialog.cs
  17. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Dialogs/TextEditorDialogFixture.cs
  18. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
  19. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs
  20. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardFormatter.cs
  21. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs
  22. 7
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs
  23. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs
  24. 38
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Collections/Collections.cs
  25. 33
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ConnectionObject.cs
  26. 20
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataAccess/SqlDataAccess.cs
  27. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataAccess/SqlQueryChecker.cs
  28. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs
  29. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs
  30. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs
  31. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs
  32. 5
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/DefaultTextEditor.cs
  33. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/EditorDialog.Designer.cs
  34. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/EditorDialog.cs
  35. 20
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/ParameterDialog.cs
  36. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/ParametersCollectionEditor.cs
  37. 86
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs
  38. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs
  39. 8
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs
  40. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs
  41. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs
  42. 5
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs
  43. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs
  44. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/Substring.cs
  45. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ToString.cs
  46. 22
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/ConnectionObjectFactory.cs
  47. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/DataManagerFacrory.cs
  48. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IStringBasedEditorDialog.cs
  49. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs
  50. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs
  51. 157
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs
  52. 37
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs
  53. 122
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs
  54. 67
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportParameters.cs
  55. 13
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs
  56. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs
  57. 20
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Collections/ParametersCollectionFixture.cs
  58. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IConnectionDataManagerFixture.cs
  59. 139
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs
  60. 113
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs
  61. 14
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs
  62. 23
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/GlobalFunctions.cs

2
samples/SharpDevelopReports/src/ReportSamples.sln

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
# SharpDevelop 4.1.0.7014
# SharpDevelop 4.2.0.7716-alpha
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpReportSamples", "SharpReportSamples\SharpReportSamples.csproj", "{BB5D34DA-3561-48B1-894A-46765C2A18C1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "..\..\..\src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}"

16
samples/SharpDevelopReports/src/SharpReportSamples/MainForm.Designer.cs generated

@ -41,17 +41,20 @@ namespace SharpReportSamples @@ -41,17 +41,20 @@ namespace SharpReportSamples
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("PushModel-IList");
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("Provider Independent");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("Customized");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("Sample Reports", new System.Windows.Forms.TreeNode[] {
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("StoredProcedure");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("Sample Reports", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
treeNode3,
treeNode4,
treeNode5});
treeNode5,
treeNode6});
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.treeView1 = new System.Windows.Forms.TreeView();
this.label1 = new System.Windows.Forms.Label();
this.previewControl1 = new ICSharpCode.Reports.Core.ReportViewer.PreviewControl();
this.menuStrip2 = new System.Windows.Forms.MenuStrip();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
@ -93,10 +96,12 @@ namespace SharpReportSamples @@ -93,10 +96,12 @@ namespace SharpReportSamples
treeNode4.Text = "Provider Independent";
treeNode5.Name = "CustomizedNode";
treeNode5.Text = "Customized";
treeNode6.Name = "Customized";
treeNode6.Text = "Sample Reports";
treeNode6.Name = "StoredProcedure";
treeNode6.Text = "StoredProcedure";
treeNode7.Name = "Customized";
treeNode7.Text = "Sample Reports";
this.treeView1.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode6});
treeNode7});
this.treeView1.Size = new System.Drawing.Size(148, 444);
this.treeView1.TabIndex = 0;
this.treeView1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.TreeView1MouseDoubleClick);
@ -144,6 +149,7 @@ namespace SharpReportSamples @@ -144,6 +149,7 @@ namespace SharpReportSamples
this.Text = "SharpReportSamples";
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();

83
samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs

@ -28,6 +28,7 @@ namespace SharpReportSamples @@ -28,6 +28,7 @@ namespace SharpReportSamples
private TreeNode iListNode;
private TreeNode providerIndependent;
private TreeNode customized;
private TreeNode storedProcedure;
private ImageList imageList;
public MainForm()
@ -59,12 +60,15 @@ namespace SharpReportSamples @@ -59,12 +60,15 @@ namespace SharpReportSamples
this.iListNode = this.treeView1.Nodes[0].Nodes[2];
this.providerIndependent = this.treeView1.Nodes[0].Nodes[3];
this.customized = this.treeView1.Nodes[0].Nodes[4];
this.storedProcedure = this.treeView1.Nodes[0].Nodes[5];
AddNodesToTree (this.formNode,startPath + @"FormSheet\" );
AddNodesToTree (this.pullNode,startPath + @"PullModel\" );
AddNodesToTree (this.iListNode,startPath + @"IList\" );
AddNodesToTree (this.providerIndependent,startPath + @"ProviderIndependent\" );
AddNodesToTree (this.customized,startPath + @"Customized\" );
AddNodesToTree (this.storedProcedure,startPath + @"StoredProcedure\" );
}
@ -100,7 +104,12 @@ namespace SharpReportSamples @@ -100,7 +104,12 @@ namespace SharpReportSamples
else if (s == "ContributorsListWithParameters"){
this.RunContributorsWithParameters(reportName);
}
else if (s == "SalesByYear_2Params") {
{
StoredProcedureWithParam(reportName);
}
}
else if (s == "NoConnectionReport") {
this.RunProviderIndependent(reportName);
} else if (s =="EventLog")
@ -110,8 +119,8 @@ namespace SharpReportSamples @@ -110,8 +119,8 @@ namespace SharpReportSamples
ReportParameters parameters = ReportEngine.LoadParameters(reportName);
if ((parameters != null)&& (parameters.SqlParameters.Count > 0)){
parameters.SqlParameters[0].ParameterValue = "I'm the Parameter";
if ((parameters != null)&& (parameters.Parameters.Count > 0)){
parameters.Parameters[0].ParameterValue = "I'm the Parameter";
}
this.previewControl1.PreviewLayoutChanged += delegate (object sender, EventArgs e)
{
@ -127,11 +136,13 @@ namespace SharpReportSamples @@ -127,11 +136,13 @@ namespace SharpReportSamples
{
string conOleDbString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\SharpReport_TestReports\TestReports\Nordwind.mdb;Persist Security Info=False";
ReportParameters parameters = ReportEngine.LoadParameters(reportName);
ConnectionObject con = ConnectionObject.CreateInstance(conOleDbString,
System.Data.Common.DbProviderFactories.GetFactory("System.Data.OleDb") );
parameters.ConnectionObject = con;
parameters.SqlParameters[0].ParameterValue = "Provider Independent";
parameters.Parameters[0].ParameterValue = "Provider Independent";
this.previewControl1.PreviewLayoutChanged += delegate (object sender, EventArgs e)
{
this.RunProviderIndependent(reportName);
@ -140,6 +151,33 @@ namespace SharpReportSamples @@ -140,6 +151,33 @@ namespace SharpReportSamples
}
#endregion
#region StoredProcedure
void StoredProcedureWithParam(string fileName)
{
var model = ReportEngine.LoadReportModel(fileName);
ReportParameters parameters = ReportEngine.LoadParameters(fileName);
// The report has no sorting, so we can add it by code
parameters.SortColumnCollection.Add (new SortColumn("ShippedDate",
System.ComponentModel.ListSortDirection.Ascending));
parameters.SqlParameters[0].ParameterValue = new System.DateTime(1997,11,01).ToString();
parameters.SqlParameters[1].ParameterValue = new System.DateTime(1997,12,31).ToString();
this.previewControl1.PreviewLayoutChanged += delegate (object sender, EventArgs e)
{
this.previewControl1.RunReport(fileName,parameters);
};
this.previewControl1.RunReport(fileName,parameters);
}
#endregion
#region Contributors
@ -185,7 +223,7 @@ namespace SharpReportSamples @@ -185,7 +223,7 @@ namespace SharpReportSamples
ReportParameters parameters = ReportEngine.LoadParameters(fileName);
BasicParameter p1 = parameters.SqlParameters[0];
BasicParameter p1 = parameters.Parameters[0];
p1.ParameterValue ="Value of Parameter";
@ -207,7 +245,7 @@ namespace SharpReportSamples @@ -207,7 +245,7 @@ namespace SharpReportSamples
var model = ReportEngine.LoadReportModel(fileName);
ReportParameters parameters = ReportEngine.LoadParameters(fileName);
BasicParameter p1 = parameters.SqlParameters[0];
BasicParameter p1 = parameters.Parameters[0];
p1.ParameterValue ="Value of Parameter";
@ -227,7 +265,7 @@ namespace SharpReportSamples @@ -227,7 +265,7 @@ namespace SharpReportSamples
var model = ReportEngine.LoadReportModel(fileName);
ReportParameters parameters = ReportEngine.LoadParameters(fileName);
BasicParameter p1 = parameters.SqlParameters[0];
BasicParameter p1 = parameters.Parameters[0];
p1.ParameterValue ="Value of Parameter";
@ -300,7 +338,7 @@ namespace SharpReportSamples @@ -300,7 +338,7 @@ namespace SharpReportSamples
//Handles SectionRenderEvent
int hour = 0;
// int hour = 0;
private void PushPrinting (object sender, SectionRenderEventArgs e )
{
@ -396,8 +434,6 @@ namespace SharpReportSamples @@ -396,8 +434,6 @@ namespace SharpReportSamples
#endregion
void TreeView1MouseDoubleClick(object sender, MouseEventArgs e)
{
TreeNode selectedNode = this.treeView1.SelectedNode;
@ -405,32 +441,5 @@ namespace SharpReportSamples @@ -405,32 +441,5 @@ namespace SharpReportSamples
RunStandardReport(selectedNode.Tag.ToString());
}
}
/*
void Button2Click(object sender, EventArgs e)
{
// get Filename to save *.pdf
string saveTo = this.SelectFilename();
// Create connectionobject
parameters = ReportEngine.LoadParameters(reportName);
ConnectionObject con = ConnectionObject.CreateInstance(this.conOleDbString,
System.Data.Common.DbProviderFactories.GetFactory("System.Data.OleDb") );
parameters.ConnectionObject = con;
// create a Pagebuilder
pageBuilder = ReportEngine.CreatePageBuilder(reportName,parameters);
pageBuilder.BuildExportList();
using (PdfRenderer pdfRenderer = PdfRenderer.CreateInstance(pageBuilder,saveTo,true)){
pdfRenderer.Start();
pdfRenderer.RenderOutput();
pdfRenderer.End();
}
}
*/
}
}

8
samples/SharpDevelopReports/src/SharpReportSamples/MainForm.resx

@ -112,15 +112,15 @@ @@ -112,15 +112,15 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="menuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="menuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>237, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>25</value>
</metadata>
</root>

13
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerViewContent.cs

@ -113,7 +113,18 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding @@ -113,7 +113,18 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
if (_edmView.EDM.IsEmpty)
{
edmxElement = null;
EDMWizardWindow wizard = RunWizard(file, ProjectService.CurrentProject.RootNamespace);
string ns = String.Empty;
if (ProjectService.CurrentProject == null)
{
ns = ICSharpCode.Core.MessageService.ShowInputBox("EDMDesigner","Enter NameSpace","DefaultNamespace");
}
else
{
ns = ProjectService.CurrentProject.RootNamespace;
}
EDMWizardWindow wizard = RunWizard(file, ns);
if (wizard.DialogResult == true)
_edmView = new EDMView(wizard.EDMXDocument, readMoreAction);

3
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.SQLServer/SQLServerDatabaseDriver.cs

@ -176,8 +176,7 @@ namespace ICSharpCode.Data.Core.DatabaseDrivers.SQLServer @@ -176,8 +176,7 @@ namespace ICSharpCode.Data.Core.DatabaseDrivers.SQLServer
SqlConnection sqlConnection = null;
sqlConnection = new SqlConnection();
sqlConnection.ConnectionString = datasource.ConnectionString;
sqlConnection.ConnectionString = datasource.ConnectionString;
try
{
sqlConnection.Open();

20
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ExplorerCommands.cs

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
using System;
using ICSharpCode.Core;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Dialogs;
namespace ICSharpCode.Reports.Addin.Commands
{
@ -47,9 +48,7 @@ namespace ICSharpCode.Reports.Addin.Commands @@ -47,9 +48,7 @@ namespace ICSharpCode.Reports.Addin.Commands
}
}
public class ClearSelectedNodeCommand : AbstractCommand
{
public override void Run()
@ -68,21 +67,14 @@ namespace ICSharpCode.Reports.Addin.Commands @@ -68,21 +67,14 @@ namespace ICSharpCode.Reports.Addin.Commands
{
ReportExplorerPad pad = this.Owner as ReportExplorerPad;
if (pad != null) {
ParameterCollection par = pad.ReportModel.ReportSettings.ParameterCollection;
using (ParameterDialog paramDialog = new ParameterDialog(par)) {
using (ParameterDialog paramDialog = new ParameterDialog(pad.ReportModel.ReportSettings.SqlParameters)) {
paramDialog.ShowDialog();
if (paramDialog.DialogResult == System.Windows.Forms.DialogResult.OK) {
/*
foreach (BasicParameter bp in e.Collection as ParameterCollection){
r.ReportModel.ReportSettings.ParameterCollection.Add (bp);
}
*/
foreach (BasicParameter bp in new System.Collections.ArrayList(paramDialog.Collection))
foreach (SqlParameter bp in paramDialog.SqlParameterCollection)
{
if (bp.ParameterName != null)
if (bp.ParameterName != null)
{
pad.ReportModel.ReportSettings.ParameterCollection.Add (bp);
pad.ReportModel.ReportSettings.SqlParameters.Add (bp);
}
}
pad.RefreshParameters();

15
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ViewCommands.cs

@ -8,6 +8,7 @@ using System.Windows.Forms; @@ -8,6 +8,7 @@ using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.Reports.Addin.ReportWizard;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Dialogs;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
@ -68,9 +69,17 @@ namespace ICSharpCode.Reports.Addin.Commands @@ -68,9 +69,17 @@ namespace ICSharpCode.Reports.Addin.Commands
public override void Run()
{
if (model.ReportSettings.ParameterCollection != null && model.ReportSettings.ParameterCollection.Count > 0) {
using (ParameterDialog dlg = new ParameterDialog(model.ReportSettings.ParameterCollection)){
dlg.ShowDialog();
if (model.ReportSettings.SqlParameters.Count > 0) {
using (ParameterDialog paramDialog = new ParameterDialog(model.ReportSettings.SqlParameters))
{
paramDialog.ShowDialog();
if (paramDialog.DialogResult == System.Windows.Forms.DialogResult.OK) {
foreach (SqlParameter bp in paramDialog.SqlParameterCollection)
{
var p = model.ReportSettings.SqlParameters.Find (bp.ParameterName);
p.ParameterValue = bp.ParameterValue;
}
}
}
}
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs

@ -110,7 +110,7 @@ namespace ICSharpCode.Reports.Addin.Designer @@ -110,7 +110,7 @@ namespace ICSharpCode.Reports.Addin.Designer
prop = props.Find("DataType",true);
allProperties.Add(prop);
prop = props.Find("RightToLeft",true);
prop = props.Find("RTL",true);
allProperties.Add(prop);
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextItemDesigner.cs

@ -8,6 +8,8 @@ using System.Windows.Forms; @@ -8,6 +8,8 @@ using System.Windows.Forms;
using System.Windows.Forms.Design;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Dialogs;
using ICSharpCode.Reports.Core.Interfaces;
namespace ICSharpCode.Reports.Addin.Designer
{

23
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs

@ -19,6 +19,7 @@ using ICSharpCode.Reports.Addin.SecondaryViews; @@ -19,6 +19,7 @@ using ICSharpCode.Reports.Addin.SecondaryViews;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Exporter.ExportRenderer;
using ICSharpCode.Reports.Core.Factories;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
@ -99,7 +100,6 @@ namespace ICSharpCode.Reports.Addin @@ -99,7 +100,6 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region setup designer
private void LoadDesigner(Stream stream)
@ -243,7 +243,6 @@ namespace ICSharpCode.Reports.Addin @@ -243,7 +243,6 @@ namespace ICSharpCode.Reports.Addin
}
#endregion
private void MergeFormChanges()
{
System.Diagnostics.Trace.WriteLine("View:MergeFormChanges()");
@ -254,8 +253,6 @@ namespace ICSharpCode.Reports.Addin @@ -254,8 +253,6 @@ namespace ICSharpCode.Reports.Addin
}
public string ReportFileContent {
get {
if (this.IsDirty) {
@ -265,7 +262,6 @@ namespace ICSharpCode.Reports.Addin @@ -265,7 +262,6 @@ namespace ICSharpCode.Reports.Addin
set { this.reportFileContent = value; }
}
#region ReportExplorer
private void StartReportExplorer ()
@ -297,7 +293,6 @@ namespace ICSharpCode.Reports.Addin @@ -297,7 +293,6 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region SelectionService
private void SelectionChangedHandler(object sender, EventArgs args)
@ -314,7 +309,6 @@ namespace ICSharpCode.Reports.Addin @@ -314,7 +309,6 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region Transaction
bool shouldUpdateSelectableObjects;
@ -332,11 +326,8 @@ namespace ICSharpCode.Reports.Addin @@ -332,11 +326,8 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region ComponentChangeService
private void OnComponentChanged (object sender, ComponentChangedEventArgs e)
{
BaseImageItem item = e.Component as BaseImageItem;
@ -370,11 +361,8 @@ namespace ICSharpCode.Reports.Addin @@ -370,11 +361,8 @@ namespace ICSharpCode.Reports.Addin
this.PrimaryFile.MakeDirty();
}
#endregion
#region HasPropertyContainer implementation
private void UpdatePropertyPad()
@ -413,11 +401,8 @@ namespace ICSharpCode.Reports.Addin @@ -413,11 +401,8 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region IUnDohandler
#endregion
public bool EnableUndo {
get {
if (undoEngine != null) {
@ -453,6 +438,8 @@ namespace ICSharpCode.Reports.Addin @@ -453,6 +438,8 @@ namespace ICSharpCode.Reports.Addin
}
}
#endregion
#region IClipboardHandler implementation
private bool IsMenuCommandEnabled(CommandID commandID)
@ -551,7 +538,6 @@ namespace ICSharpCode.Reports.Addin @@ -551,7 +538,6 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region IPrintable
@ -597,7 +583,6 @@ namespace ICSharpCode.Reports.Addin @@ -597,7 +583,6 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region IDesignerHost implementation
public IDesignerHost Host {

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerNodes.cs

@ -90,6 +90,11 @@ namespace ICSharpCode.Reports.Addin @@ -90,6 +90,11 @@ namespace ICSharpCode.Reports.Addin
{
ListSortDirection listSortDirection;
public SortColumnNode(string nodeName,string contextMenuPath):this(nodeName,0,contextMenuPath)
{
}
public SortColumnNode(string nodeName,int imageIndex,string contextMenuPath):base(nodeName,contextMenuPath)
{
this.ImageIndex = imageIndex;
@ -107,6 +112,10 @@ namespace ICSharpCode.Reports.Addin @@ -107,6 +112,10 @@ namespace ICSharpCode.Reports.Addin
internal class GroupColumnNode:SortColumnNode
{
public GroupColumnNode (string nodeName,string contextMenuPath):this(nodeName,0,contextMenuPath)
{
}
public GroupColumnNode (string nodeName,int imageIndex,string contextMenuPath):base(nodeName,imageIndex,contextMenuPath)
{

110
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerTree.cs

@ -5,12 +5,12 @@ using System; @@ -5,12 +5,12 @@ using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.Linq;
using ICSharpCode.Core;
using ICSharpCode.Core.WinForms;
using ICSharpCode.Reports.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.Reports.Core.BaseClasses;
namespace ICSharpCode.Reports.Addin
{
@ -19,9 +19,11 @@ namespace ICSharpCode.Reports.Addin @@ -19,9 +19,11 @@ namespace ICSharpCode.Reports.Addin
/// </summary>
internal class ExplorerTree:TreeView,INotifyPropertyChanged
{
private const string sortColumnMenu = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode";
private const string sortColumnMenuPath = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode";
private const string sectionContextMenu = "/SharpDevelopReports/ContextMenu/FieldsExplorer/SectionTreeNode";
private const string parameterEditorMenu = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ParameterNode";
private const string groupContextMenuPath ="/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnGroupTreeNode";
private SectionNode nodeRoot;
private SectionNode nodeModel;
@ -130,7 +132,7 @@ namespace ICSharpCode.Reports.Addin @@ -130,7 +132,7 @@ namespace ICSharpCode.Reports.Addin
{
SortColumnNode sortNode = new SortColumnNode (node.Text,
ExplorerTree.ascendingIcon,
ExplorerTree.sortColumnMenu);
ExplorerTree.sortColumnMenuPath);
sortNode.SortDirection = ListSortDirection.Ascending;
this.SelectedNode = sortNode;
@ -147,7 +149,7 @@ namespace ICSharpCode.Reports.Addin @@ -147,7 +149,7 @@ namespace ICSharpCode.Reports.Addin
{
this.nodeSorting.Nodes.Clear();
GroupColumnNode groupNode = new GroupColumnNode(node.Text,ExplorerTree.ascendingIcon,
ExplorerTree.sortColumnMenu);
ExplorerTree.sortColumnMenuPath);
groupNode.SortDirection = ListSortDirection.Ascending;
this.SelectedNode = groupNode;
sectionNode.Nodes.Add(groupNode);
@ -284,37 +286,44 @@ namespace ICSharpCode.Reports.Addin @@ -284,37 +286,44 @@ namespace ICSharpCode.Reports.Addin
#region FillTree
private void SetSortColumns()
{
this.nodeSorting.Nodes.Clear();
SortColumnNode scn = null;
foreach (SortColumn sc in this.reportModel.ReportSettings.SortColumnsCollection){
if (sc.SortDirection == ListSortDirection.Ascending) {
scn = new SortColumnNode (sc.ColumnName,ascendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode");
} else {
scn = new SortColumnNode (sc.ColumnName,descendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode");
}
this.nodeSorting.Nodes.Add(scn);
}
}
private void SetGroupColumns()
{
this.nodeGrouping.Nodes.Clear();
GroupColumnNode groupNode = null;
foreach (GroupColumn groupColumn in this.reportModel.ReportSettings.GroupColumnsCollection)
{
var groupNode = new GroupColumnNode(groupColumn.ColumnName,groupContextMenuPath);
if (groupColumn.SortDirection == ListSortDirection.Ascending) {
groupNode = new GroupColumnNode (groupColumn.ColumnName,ascendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnGroupTreeNode");
groupNode.ImageIndex = ascendingIcon;
} else {
groupNode = new GroupColumnNode (groupColumn.ColumnName,descendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnGroupTreeNode");
groupNode.ImageIndex = descendingIcon;
}
this.nodeGrouping.Nodes.Add(groupNode);
foreach (var p in this.reportModel.ReportSettings.AvailableFieldsCollection.Where(p => (p.ColumnName != groupColumn.ColumnName)))
{
var cn = new ColumnNode(p.ColumnName,columnIcon);
groupNode.Nodes.Add(cn);
}
}
}
public void BuildTree ()
{
this.BeginUpdate();
this.nodeAvailableFields.Nodes.Clear();
this.nodeSorting.Nodes.Clear();
this.nodeGrouping.Nodes.Clear();
this.nodeParams.Nodes.Clear();
this.reportModel.ReportSettings.AvailableFieldsCollection.ForEach(SetAvailableFields);
this.reportModel.ReportSettings.SortColumnsCollection.ForEach(SetSortColumns);
SetGroupColumns();
this.reportModel.ReportSettings.ParameterCollection.ForEach(SetParams);
// SetFunctions();
this.ExpandAll();
this.EndUpdate();
}
private void SetAvailableFields (AbstractColumn af)
{
ColumnNode node = new ColumnNode(af.ColumnName,columnIcon);
@ -324,32 +333,31 @@ namespace ICSharpCode.Reports.Addin @@ -324,32 +333,31 @@ namespace ICSharpCode.Reports.Addin
}
private void SetParameters ()
private void SetSortColumns (AbstractColumn column)
{
this.nodeParams.Nodes.Clear();
foreach (BasicParameter p in this.reportModel.ReportSettings.ParameterCollection)
{
string s = String.Format(System.Globalization.CultureInfo.CurrentCulture,
"{0}[{1}]",p.ParameterName,p.ParameterValue);
ParameterNode node = new ParameterNode(s,columnIcon);
this.nodeParams.Nodes.Add(node);
SortColumn sortColumn = column as SortColumn;
if (sortColumn != null) {
var sortColumnNode = new SortColumnNode (sortColumn.ColumnName,sortColumnMenuPath);
if (sortColumn.SortDirection == ListSortDirection.Ascending) {
sortColumnNode.ImageIndex = ascendingIcon;
} else {
sortColumnNode.ImageIndex = descendingIcon;
}
this.nodeSorting.Nodes.Add(sortColumnNode);
}
}
public void BuildTree ()
private void SetParams (BasicParameter p)
{
this.BeginUpdate();
this.reportModel.ReportSettings.AvailableFieldsCollection.ForEach(SetAvailableFields);
SetSortColumns();
SetGroupColumns();
SetParameters();
// SetFunctions();
this.ExpandAll();
this.EndUpdate();
string s = String.Format(System.Globalization.CultureInfo.CurrentCulture,
"{0}[{1}]",p.ParameterName,p.ParameterValue);
ParameterNode node = new ParameterNode(s,columnIcon);
this.nodeParams.Nodes.Add(node);
}
#endregion
#region Build Basic Tree
@ -371,18 +379,19 @@ namespace ICSharpCode.Reports.Addin @@ -371,18 +379,19 @@ namespace ICSharpCode.Reports.Addin
nodeAvailableFields.ContextMenuAddinTreePath = String.Empty;
this.nodeModel.Nodes.Add(this.nodeAvailableFields);
nodeGrouping = new SectionNode (ResourceService.GetString("SharpReport.FieldsExplorer.Grouping"));
nodeGrouping.ImageIndex = folderClosed;
nodeGrouping.SelectedImageIndex = folderOpen;
nodeGrouping.ContextMenuAddinTreePath = ExplorerTree.sectionContextMenu;
this.nodeModel.Nodes.Add(this.nodeGrouping);
nodeSorting = new SectionNode (ResourceService.GetString("SharpReport.FieldsExplorer.Sorting"));
nodeSorting.ImageIndex = folderClosed;
nodeSorting.SelectedImageIndex = folderOpen;
nodeSorting.ContextMenuAddinTreePath = ExplorerTree.sectionContextMenu;
this.nodeModel.Nodes.Add(this.nodeSorting);
nodeGrouping = new SectionNode (ResourceService.GetString("SharpReport.FieldsExplorer.Grouping"));
nodeGrouping.ImageIndex = folderClosed;
nodeGrouping.SelectedImageIndex = folderOpen;
nodeGrouping.ContextMenuAddinTreePath = ExplorerTree.sectionContextMenu;
this.nodeModel.Nodes.Add(this.nodeGrouping);
nodeFunction = new TreeNode(ResourceService.GetString("SharpReport.FieldsExplorer.Functions"));
nodeFunction.ImageIndex = folderClosed;
@ -394,7 +403,6 @@ namespace ICSharpCode.Reports.Addin @@ -394,7 +403,6 @@ namespace ICSharpCode.Reports.Addin
nodeParams.SelectedImageIndex = folderOpen;
nodeParams.ContextMenuAddinTreePath = ExplorerTree.parameterEditorMenu;
this.nodeModel.Nodes.Add(this.nodeParams);
this.nodeRoot.Nodes.Add(nodeModel);

13
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs

@ -9,6 +9,7 @@ using ICSharpCode.Reports.Addin.Dialogs; @@ -9,6 +9,7 @@ using ICSharpCode.Reports.Addin.Dialogs;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.Dialogs;
using ICSharpCode.Reports.Core.Globals;
namespace ICSharpCode.Reports.Addin
@ -138,16 +139,20 @@ namespace ICSharpCode.Reports.Addin @@ -138,16 +139,20 @@ namespace ICSharpCode.Reports.Addin
}
}
#endregion
#region RighToLeft
[Category("Appearance")]
public override System.Windows.Forms.RightToLeft RightToLeft {
public System.Windows.Forms.RightToLeft RTL
{
get { return base.RightToLeft; }
set { base.RightToLeft = value; }
}
#endregion
#region DataType
[Browsable(true),
Category("Databinding"),
@ -157,6 +162,7 @@ namespace ICSharpCode.Reports.Addin @@ -157,6 +162,7 @@ namespace ICSharpCode.Reports.Addin
public string DataType {get;set;}
#endregion
#region Expression
@ -169,6 +175,7 @@ namespace ICSharpCode.Reports.Addin @@ -169,6 +175,7 @@ namespace ICSharpCode.Reports.Addin
#endregion
#region CanGrow/CanShrink
public bool CanGrow {get;set;}

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs

@ -16,6 +16,7 @@ using ICSharpCode.Data.Core.Enums; @@ -16,6 +16,7 @@ using ICSharpCode.Data.Core.Enums;
using ICSharpCode.Data.Core.Interfaces;
using ICSharpCode.Reports.Addin.Commands;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.DataAccess;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.Project.BaseClasses;
using ICSharpCode.SharpDevelop;

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Dialogs/DummyEditorDialog.cs

@ -3,8 +3,9 @@ @@ -3,8 +3,9 @@
using System;
using System.Windows.Forms;
using NUnit.Framework;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Interfaces;
using NUnit.Framework;
namespace ICSharpCode.Reports.Addin.Test.Dialogs
{

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Dialogs/TextEditorDialogFixture.cs

@ -2,8 +2,9 @@ @@ -2,8 +2,9 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using NUnit.Framework;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Interfaces;
using NUnit.Framework;
namespace ICSharpCode.Reports.Addin.Test.Dialogs
{

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj

@ -134,8 +134,9 @@ @@ -134,8 +134,9 @@
<Compile Include="Project\DataManager\Comparer\BaseComparer.cs" />
<Compile Include="Project\DataManager\Comparer\GroupSeparator.cs" />
<Compile Include="Project\DataManager\Comparer\SortComparer.cs" />
<Compile Include="Project\DataManager\DataAccess\SqlDataAccess.cs" />
<Compile Include="Project\DataManager\DataAccess\SqlQueryChecker.cs" />
<Compile Include="Project\DataManager\ListStrategy\TableStrategy.cs" />
<Compile Include="Project\DataManager\SqlDataAccess.cs" />
<Compile Include="Project\DataManager\ListHandling\IndexList.cs" />
<Compile Include="Project\DataManager\ListHandling\ExtendedPropertyDescriptor.cs" />
<Compile Include="Project\DataManager\ListHandling\ExtendedTypeDescriptor.cs" />
@ -148,7 +149,6 @@ @@ -148,7 +149,6 @@
</Compile>
<Compile Include="Project\Dialogs\EditorDialog.Designer.cs" />
<Compile Include="Project\Dialogs\GroupingCollectionEditor.cs" />
<Compile Include="Project\Dialogs\IStringBasedEditorDialog.cs" />
<Compile Include="Project\Dialogs\ParametersCollectionEditor.cs" />
<Compile Include="Project\Dialogs\ParameterDialog.cs">
<SubType>Form</SubType>
@ -301,6 +301,7 @@ @@ -301,6 +301,7 @@
<Compile Include="Project\Interfaces\IReportItem.cs" />
<Compile Include="Project\Interfaces\IReportModel.cs" />
<Compile Include="Project\Interfaces\ISinglePage.cs" />
<Compile Include="Project\Interfaces\IStringBasedEditorDialog.cs" />
<Compile Include="Project\IReportCreator.cs" />
<Compile Include="Project\Printing\Graphics\BaseLine.cs" />
<Compile Include="Project\Printing\Graphics\BaseShape.cs" />
@ -311,9 +312,7 @@ @@ -311,9 +312,7 @@
<Compile Include="Project\Printing\Graphics\RectangleShape.cs" />
<Compile Include="Project\Printing\AbstractRenderer.cs" />
<Compile Include="Project\Printing\RenderDataReport.cs" />
<Compile Include="Project\Printing\RendererFactory.cs" />
<Compile Include="Project\Printing\RenderFormSheetReport.cs" />
<Compile Include="Project\Printing\RenderTable.cs" />
<Compile Include="Project\Printing\ReportDocument.cs">
<SubType>Component</SubType>
</Compile>
@ -335,7 +334,6 @@ @@ -335,7 +334,6 @@
<Compile Include="Project\BaseClasses\BasicParameter.cs" />
<Compile Include="Project\BaseClasses\SqlParameter.cs" />
<Compile Include="Project\Collections\Collections.cs" />
<Compile Include="Project\DataManager\SqlQueryChecker.cs" />
<Compile Include="Project\Exceptions\MissingModelException.cs" />
<Compile Include="Project\BaseItems\BaseRowItem.cs" />
<Compile Include="Project\Interfaces\IContainerItem.cs" />
@ -398,6 +396,7 @@ @@ -398,6 +396,7 @@
<None Include="Project\ReportViewer\Resources\Icons\Next.bmp" />
</ItemGroup>
<ItemGroup>
<Folder Include="Project\DataManager\DataAccess" />
<Folder Include="Project\WpfReportViewer" />
<Folder Include="Project\WPF" />
</ItemGroup>

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs

@ -11,7 +11,7 @@ using System.Collections.Generic; @@ -11,7 +11,7 @@ using System.Collections.Generic;
using System.Windows;
using System.Windows.Media;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.BaseClasses
{
/// <summary>
/// Description of ExtensionMethodes.

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardFormatter.cs

@ -115,7 +115,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing @@ -115,7 +115,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing
str = dec.ToString (format,CultureInfo.CurrentCulture);
} catch (System.FormatException e) {
string s = String.Format(CultureInfo.InvariantCulture,"\tDecimalValue < {0} > {1}",toFormat,e.Message);
throw e;
}
return str;
} else {
@ -134,7 +134,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing @@ -134,7 +134,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing
DateTimeFormatInfo.CurrentInfo);
return str.Trim();
} catch (System.FormatException) {
} catch (System.FormatException ) {
// string s = String.Format("< {0} > {1}",toFormat,e.Message);
// System.Console.WriteLine("\t\tDateValue {0}",s);
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs

@ -117,7 +117,7 @@ namespace ICSharpCode.Reports.Core @@ -117,7 +117,7 @@ namespace ICSharpCode.Reports.Core
public int SectionMargin {get;set;}
public virtual int SectionOffset {get;set;}
// public virtual int SectionOffset {get;set;}
public ReportItemCollection Items

7
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs

@ -67,7 +67,7 @@ namespace ICSharpCode.Reports.Core @@ -67,7 +67,7 @@ namespace ICSharpCode.Reports.Core
style.ContentAlignment = this.contentAlignment;
style.FormatString = this.formatString;
style.DataType = this.dataType;
style.RightToLeft = this.RightToLeft;
style.RightToLeft = this.RTL;
return style;
}
@ -184,7 +184,7 @@ namespace ICSharpCode.Reports.Core @@ -184,7 +184,7 @@ namespace ICSharpCode.Reports.Core
public virtual StringFormat StringFormat {
get {
var sf = TextDrawer.BuildStringFormat (this.StringTrimming,this.ContentAlignment);
if (this.RightToLeft == System.Windows.Forms.RightToLeft.Yes) {
if (this.RTL == System.Windows.Forms.RightToLeft.Yes) {
sf.FormatFlags = sf.FormatFlags | StringFormatFlags.DirectionRightToLeft;
}
return sf;
@ -192,8 +192,7 @@ namespace ICSharpCode.Reports.Core @@ -192,8 +192,7 @@ namespace ICSharpCode.Reports.Core
}
public System.Windows.Forms.RightToLeft RightToLeft {get;set;}
public System.Windows.Forms.RightToLeft RTL {get;set;}
#region IExpression

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs

@ -68,7 +68,7 @@ namespace ICSharpCode.Reports.Core { @@ -68,7 +68,7 @@ namespace ICSharpCode.Reports.Core {
try {
Image im;
string absFileName = this.AbsoluteFileName;
System.Diagnostics.Trace.WriteLine(String.Format("<CORE.LoadImage > {0}",absFileName));
// System.Diagnostics.Trace.WriteLine(String.Format("<CORE.LoadImage > {0}",absFileName));
if (!String.IsNullOrEmpty(absFileName) && File.Exists(absFileName)) {
im = Image.FromFile (this.AbsoluteFileName);
} else {
@ -172,7 +172,7 @@ namespace ICSharpCode.Reports.Core { @@ -172,7 +172,7 @@ namespace ICSharpCode.Reports.Core {
set {
imageFileName = value;
this.imageSource = GlobalEnums.ImageSource.File;
System.Diagnostics.Trace.WriteLine(String.Format("<CORE.BaseImage> ImageFilename {0}",Path.GetFullPath(this.imageFileName)));
// System.Diagnostics.Trace.WriteLine(String.Format("<CORE.BaseImage> ImageFilename {0}",Path.GetFullPath(this.imageFileName)));
}
}

38
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Collections/Collections.cs

@ -308,6 +308,34 @@ namespace ICSharpCode.Reports.Core{ @@ -308,6 +308,34 @@ namespace ICSharpCode.Reports.Core{
}
public class SqlParameterCollection : Collection<SqlParameter>
{
public SqlParameterCollection()
{
}
public SqlParameter Find (string parameterName)
{
if (String.IsNullOrEmpty(parameterName)) {
throw new ArgumentNullException("parameterName");
}
return this.FirstOrDefault(x => 0 == String.Compare(x.ParameterName,parameterName,true,CultureInfo.InvariantCulture));
}
public void AddRange (IEnumerable<SqlParameter> items)
{
foreach (SqlParameter item in items){
this.Add(item);
}
}
public static CultureInfo Culture
{
get { return System.Globalization.CultureInfo.CurrentCulture; }
}
}
public class ParameterCollection: Collection<BasicParameter>{
@ -321,7 +349,6 @@ namespace ICSharpCode.Reports.Core{ @@ -321,7 +349,6 @@ namespace ICSharpCode.Reports.Core{
if (String.IsNullOrEmpty(parameterName)) {
throw new ArgumentNullException("parameterName");
}
return this.FirstOrDefault(x => 0 == String.Compare(x.ParameterName,parameterName,true,CultureInfo.InvariantCulture));
}
@ -335,15 +362,6 @@ namespace ICSharpCode.Reports.Core{ @@ -335,15 +362,6 @@ namespace ICSharpCode.Reports.Core{
return ht;
}
public System.Collections.Generic.List<SqlParameter> ExtractSqlParameters ()
{
System.Collections.Generic.List<SqlParameter> sql = new List<SqlParameter>();
sql = (from t in this where t is SqlParameter select (SqlParameter)t).ToList<SqlParameter>();
return sql;
}
public static CultureInfo Culture
{
get { return System.Globalization.CultureInfo.CurrentCulture; }

33
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ConnectionObject.cs

@ -13,9 +13,19 @@ using System.Data.Common; @@ -13,9 +13,19 @@ using System.Data.Common;
/// created on - 17.10.2005 22:59:39
/// </remarks>
namespace ICSharpCode.Reports.Core {
namespace ICSharpCode.Reports.Core
{
public class ConnectionObject : object,IDisposable {
public interface IConnectionObject
{
IDbDataAdapter CreateDataAdapter(IDbCommand command);
string QueryString { get; set; }
IDbConnection Connection { get; }
DbProviderFactory ProviderFactory { get; }
}
public class ConnectionObject :IConnectionObject, IDisposable {
IDbConnection connection;
DbProviderFactory providerFactory;
@ -33,27 +43,12 @@ namespace ICSharpCode.Reports.Core { @@ -33,27 +43,12 @@ namespace ICSharpCode.Reports.Core {
IDbConnection con = providerFactory.CreateConnection();
con.ConnectionString = connectionString;
return ConnectionObject.CreateInstance(con,providerFactory);
}
public static ConnectionObject CreateInstance (IDbConnection connection,
DbProviderFactory providerFactory)
{
if (connection == null) {
throw new ArgumentNullException("connection");
}
if (providerFactory == null) {
throw new ArgumentNullException("providerFactory");
}
ConnectionObject instance = new ConnectionObject ();
instance.connection = connection;
instance.connection = con;
instance.providerFactory = providerFactory;
return instance;
}
private ConnectionObject () {

20
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlDataAccess.cs → src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataAccess/SqlDataAccess.cs

@ -5,9 +5,10 @@ using System; @@ -5,9 +5,10 @@ using System;
using System.Data;
using System.Globalization;
using ICSharpCode.Reports.Core.Factories;
using ICSharpCode.Reports.Core.Project.Interfaces;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.DataAccess
{
/// <summary>
/// Description of DataAccess.
@ -26,7 +27,7 @@ namespace ICSharpCode.Reports.Core @@ -26,7 +27,7 @@ namespace ICSharpCode.Reports.Core
}
this.reportSettings = reportSettings;
if (connectionObject == null) {
this.connectionObject = ConnectionObjectFactory.BuildConnectionObject(reportSettings.ConnectionString);
this.connectionObject = ConnectionObjectFactory.BuildConnectionObject(reportSettings);
} else {
this.connectionObject = connectionObject;
}
@ -40,7 +41,6 @@ namespace ICSharpCode.Reports.Core @@ -40,7 +41,6 @@ namespace ICSharpCode.Reports.Core
}
private void CheckConnection()
{
if (this.connectionObject.Connection.State == ConnectionState.Open) {
@ -50,7 +50,6 @@ namespace ICSharpCode.Reports.Core @@ -50,7 +50,6 @@ namespace ICSharpCode.Reports.Core
}
public DataSet ReadData()
{
try {
@ -70,8 +69,7 @@ namespace ICSharpCode.Reports.Core @@ -70,8 +69,7 @@ namespace ICSharpCode.Reports.Core
// We have to check if there are parameters for this Query, if so
// add them to the command
BuildQueryParameters(command,reportSettings.ParameterCollection);
BuildQueryParameters(command,reportSettings.SqlParameters);
IDbDataAdapter adapter = connectionObject.CreateDataAdapter(command);
DataSet ds = new DataSet();
ds.Locale = CultureInfo.CurrentCulture;
@ -87,17 +85,17 @@ namespace ICSharpCode.Reports.Core @@ -87,17 +85,17 @@ namespace ICSharpCode.Reports.Core
private static void BuildQueryParameters (IDbCommand cmd,
ParameterCollection parameterCollection)
SqlParameterCollection parameterCollection)
{
if (parameterCollection != null && parameterCollection.Count > 0) {
IDbDataParameter cmdPar = null;
System.Collections.Generic.List<SqlParameter> sq = parameterCollection.ExtractSqlParameters();
foreach (SqlParameter par in sq) {
foreach (SqlParameter par in parameterCollection) {
cmdPar = cmd.CreateParameter();
cmdPar.ParameterName = par.ParameterName;
Console.WriteLine("");
Console.WriteLine("BuildQueryParameters {0} - {1}",par.ParameterName,par.ParameterValue);
if (par.DataType != System.Data.DbType.Binary) {
cmdPar.DbType = par.DataType;
cmdPar.Value = par.ParameterValue;

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/SqlQueryChecker.cs → src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataAccess/SqlQueryChecker.cs

@ -5,7 +5,7 @@ using System; @@ -5,7 +5,7 @@ using System;
using System.Data;
using System.Globalization;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.DataAccess
{
/// <summary>
/// This Class checks for invalid SqlStatements

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs

@ -5,9 +5,10 @@ using System; @@ -5,9 +5,10 @@ using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Globalization;
using ICSharpCode.Reports.Core.DataAccess;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.ListStrategy;
using ICSharpCode.Reports.Core.Project.Interfaces;
/// <summary>
@ -17,12 +18,12 @@ using ICSharpCode.Reports.Core.Project.Interfaces; @@ -17,12 +18,12 @@ using ICSharpCode.Reports.Core.Project.Interfaces;
/// created by - Forstmeier Peter
/// created on - 16.10.2005 14:49:43
/// </remarks>
namespace ICSharpCode.Reports.Core {
namespace ICSharpCode.Reports.Core
{
public interface IDataManager
{
DataNavigator GetNavigator
{get;}
DataNavigator GetNavigator {get;}
}

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs

@ -18,9 +18,9 @@ using ICSharpCode.Reports.Expressions.ReportingLanguage; @@ -18,9 +18,9 @@ using ICSharpCode.Reports.Expressions.ReportingLanguage;
/// created on - 13.11.2005 15:26:02
/// </remarks>
namespace ICSharpCode.Reports.Core {
namespace ICSharpCode.Reports.Core.ListStrategy
{
internal static class SortExtension
{
@ -96,7 +96,7 @@ namespace ICSharpCode.Reports.Core { @@ -96,7 +96,7 @@ namespace ICSharpCode.Reports.Core {
}
CreateGroupedChildren(childList,element);
compVal = groupValue;
}
}
// ShowIndexList(IndexList);
}
@ -235,6 +235,9 @@ namespace ICSharpCode.Reports.Core { @@ -235,6 +235,9 @@ namespace ICSharpCode.Reports.Core {
public virtual void Group()
{
this.IndexList.Clear();
if (ReportSettings.SortColumnsCollection.Count > 0) {
ReportSettings.GroupColumnsCollection.AddRange(ReportSettings.SortColumnsCollection);
}
}
public virtual void Bind()

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs

@ -15,7 +15,8 @@ using SimpleExpressionEvaluator.Utilities; @@ -15,7 +15,8 @@ using SimpleExpressionEvaluator.Utilities;
/// Access to Data is allway's done by using the 'IndexList'
/// </summary>
namespace ICSharpCode.Reports.Core {
namespace ICSharpCode.Reports.Core.ListStrategy
{
internal sealed class CollectionStrategy : BaseListStrategy {

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs

@ -7,7 +7,7 @@ using System.Data; @@ -7,7 +7,7 @@ using System.Data;
using ICSharpCode.Reports.Expressions.ReportingLanguage;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.ListStrategy
{
/// <summary>
/// Description of TableStrategy.
@ -154,13 +154,13 @@ namespace ICSharpCode.Reports.Core @@ -154,13 +154,13 @@ namespace ICSharpCode.Reports.Core
base.IndexList = this.BuildSortIndex (ReportSettings.SortColumnsCollection);
} else {
// if we have no sorting, we build the indexlist as well
base.IndexList = this.IndexBuilder(ReportSettings.SortColumnsCollection);
base.IndexList = this.UnsortedIndex(ReportSettings.SortColumnsCollection);
}
}
}
private IndexList IndexBuilder(SortColumnCollection col)
private IndexList UnsortedIndex(SortColumnCollection col)
{
IndexList arrayList = new IndexList();
for (int rowIndex = 0; rowIndex < this.table.Rows.Count; rowIndex++){
@ -174,6 +174,9 @@ namespace ICSharpCode.Reports.Core @@ -174,6 +174,9 @@ namespace ICSharpCode.Reports.Core
public override void Group ()
{
base.Group();
// if (ReportSettings.SortColumnsCollection.Count > 0) {
// ReportSettings.GroupColumnsCollection.AddRange(ReportSettings.SortColumnsCollection);
// }
IndexList groupedIndexList = new IndexList("group");
groupedIndexList = this.BuildSortIndex (ReportSettings.GroupColumnsCollection);
// ShowIndexList(sortedIndexList);

5
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/DefaultTextEditor.cs

@ -6,7 +6,10 @@ using System.ComponentModel; @@ -6,7 +6,10 @@ using System.ComponentModel;
using System.Drawing.Design;
using System.Windows.Forms;
namespace ICSharpCode.Reports.Core
using ICSharpCode.Reports.Core.Dialogs;
using ICSharpCode.Reports.Core.Interfaces;
namespace ICSharpCode.Reports.Core.Dialogs
{
/// <summary>
/// Description of UISettingsEditor.

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/EditorDialog.Designer.cs generated

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.Dialogs
{
partial class TextEditorDialog
{

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/EditorDialog.cs

@ -5,7 +5,9 @@ using System; @@ -5,7 +5,9 @@ using System;
using System.Drawing;
using System.Windows.Forms;
namespace ICSharpCode.Reports.Core
using ICSharpCode.Reports.Core.Interfaces;
namespace ICSharpCode.Reports.Core.Dialogs
{
/// <summary>
/// Description of EditorDialog.

20
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/ParameterDialog.cs

@ -2,31 +2,29 @@ @@ -2,31 +2,29 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.Dialogs
{
public class ParameterDialog : System.Windows.Forms.Form
{
private ParameterCollection collection;
private SqlParameterCollection collection;
public ParameterDialog(ParameterCollection collection):this()
public ParameterDialog(SqlParameterCollection collection)
{
InitializeComponent();
this.collection = collection;
this.dataGrid1.DataSource = this.collection;
}
public ParameterDialog()
{
InitializeComponent();
}
public ParameterCollection Collection {
get { return collection; }
public SqlParameterCollection SqlParameterCollection {
get {
return this.collection;
}
}
#region Designer generated
/// <summary>

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/ParametersCollectionEditor.cs

@ -29,6 +29,12 @@ namespace ICSharpCode.Reports.Core.Dialogs @@ -29,6 +29,12 @@ namespace ICSharpCode.Reports.Core.Dialogs
if (itemType == typeof(SqlParameter)) {
return new SqlParameter();
}
if (itemType == typeof(BasicParameter)) {
return new BasicParameter();
}
return base.CreateInstance(itemType);
}

86
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs

@ -159,92 +159,6 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -159,92 +159,6 @@ namespace ICSharpCode.Reports.Core.Exporter
if (currentBottom.Y > Offset.Y) {
Offset = new Point (Offset.X,currentBottom.Y);
}
// Offset = new Point (Offset.X,Offset.Y + gapCalculator.LastGap);
}
SectionBounds.Offset = Offset;
return convertedSection;
}
protected ExporterCollection old_ConvertSection (BaseSection section,int dataRow)
{
Point currentBottom = Point.Empty;
FireSectionRenderEvent (section ,dataRow);
PrintHelper.AdjustParent(section,section.Items);
PrintHelper.AdjustSectionLocation(section);
var convertedSection = new ExporterCollection();
Offset = SectionBounds.Offset;
Point startOffset = Offset;
if (section.Items.Count > 0)
{
Size sectionSize = section.Size;
IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator);
Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section);
LayoutHelper.FixSectionLayout(desiredRectangle,section);
section.Items.SortByLocation();
GapList gapCalculator = new GapList();
gapCalculator.CalculateGapList(section);
int i = 0;
foreach (BaseReportItem item in section.Items)
{
ISimpleContainer simpleContainer = item as ISimpleContainer;
if (simpleContainer != null)
{
Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] );
var containerSize = simpleContainer.Size;
EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items);
var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter));
LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer);
/*
* */
/*
section.Items.ForEach(delegate(BaseReportItem aitem)
{
// Console.WriteLine(item.Location);
});
var h = section.Items.FindHighestElement();
*/
section.MeasureOverride(section.Size);
/** */
Offset = BaseConverter.ConvertContainer(convertedSection,simpleContainer,Offset.X,Offset);
simpleContainer.Size = containerSize;
}
else
{
var converteditem = ExportHelper.ConvertLineItem(item,Offset);
if (converteditem != null) {
if (converteditem.StyleDecorator.DisplayRectangle.Bottom > currentBottom.Y) {
currentBottom = new Point(converteditem.StyleDecorator.Location.X,converteditem.StyleDecorator.DisplayRectangle.Bottom);
}
convertedSection.Add((BaseExportColumn)converteditem );
}
// if (converteditem.StyleDecorator.DisplayRectangle.Bottom > currentBottom.Y) {
// currentBottom = new Point(converteditem.StyleDecorator.Location.X,converteditem.StyleDecorator.DisplayRectangle.Bottom);
// }
//
// convertedSection.Add((BaseExportColumn)converteditem );
}
i ++;
}
Offset = new Point (Offset.X,Offset.Y + gapCalculator.LastGap);
// Offset = new Point (Offset.X,Offset.Y + 5);
if (currentBottom.Y > Offset.Y) {
Offset = new Point (Offset.X,currentBottom.Y);
}
// Offset = new Point (Offset.X,Offset.Y + gapCalculator.LastGap);
}
SectionBounds.Offset = Offset;
return convertedSection;

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
using System;
using System.Drawing;
using ICSharpCode.Reports.Core.BaseClasses;
using iTextSharp.text.pdf;
namespace ICSharpCode.Reports.Core.Exporter
@ -32,12 +33,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -32,12 +33,7 @@ namespace ICSharpCode.Reports.Core.Exporter
}
base.DrawItem(graphics);
base.Decorate(graphics);
items.ForEach(item =>item.DrawItem(graphics));
// foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items)
// {
// baseExportColumn.DrawItem(graphics);
// }
}

8
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs

@ -8,9 +8,11 @@ @@ -8,9 +8,11 @@
*/
using System;
using System.Drawing;
using System.Linq;
using ICSharpCode.Reports.Core.BaseClasses;
using ICSharpCode.Reports.Core.Globals;
using iTextSharp.text.pdf;
using System.Linq;
namespace ICSharpCode.Reports.Core.Exporter
{
@ -46,10 +48,6 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -46,10 +48,6 @@ namespace ICSharpCode.Reports.Core.Exporter
style.DisplayRectangle);
}
Items.ForEach(item =>item.DrawItem(graphics));
// foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in Items)
// {
// baseExportColumn.DrawItem(graphics);
// }
}
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs

@ -45,7 +45,7 @@ namespace ICSharpCode.Reports.Core.Exporter { @@ -45,7 +45,7 @@ namespace ICSharpCode.Reports.Core.Exporter {
CalculatePdfFormat pdfFormat = new CalculatePdfFormat(this.StyleDecorator,font);
ColumnText columnText = new ColumnText(contentByte);
if (StyleDecorator.RightToLeft.ToString() == "Yes") {
columnText.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
}

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs

@ -8,9 +8,7 @@ @@ -8,9 +8,7 @@
*/
using System;
using System.Data;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.ReportViewer;
namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer
{
@ -86,6 +84,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer @@ -86,6 +84,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer
RunReport(reportModel, dataManager);
}
public void RunReport(ReportModel reportModel, IDataManager dataManager)
{
if (reportModel == null) {
@ -110,6 +109,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer @@ -110,6 +109,7 @@ namespace ICSharpCode.Reports.Core.Exporter.ExportRenderer
void BuildExportList(IReportCreator reportCreator)
{
Pages.Clear();
reportCreator.PageCreated += OnPageCreated;
reportCreator.BuildExportList();
reportCreator.PageCreated -= OnPageCreated;

5
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Globalization;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Globals;
@ -83,13 +84,13 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage @@ -83,13 +84,13 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage
public static string ExtractExpressionPart (string src)
{
char v = Convert.ToChar("=");
char v = Convert.ToChar("=",CultureInfo.CurrentCulture );
return StringHelpers.RightOf(src,v).Trim();
}
public static string ExtractResultPart (string src)
{
char v = Convert.ToChar("=");
char v = Convert.ToChar("=",CultureInfo.CurrentCulture );
return StringHelpers.LeftOf(src,v).Trim();
}
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/ExpressionEvaluatorFacade.cs

@ -94,7 +94,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage @@ -94,7 +94,7 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage
static void WriteLogMessage(Exception e)
{
Console.WriteLine("");
Console.WriteLine("-----LogMessage---------");
Console.WriteLine("ExpressionEvaluatorFacade.Evaluate");
Console.WriteLine(e.Message);
Console.WriteLine(e.TargetSite);

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/Substring.cs

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Globalization;
namespace SimpleExpressionEvaluator.Compilation.Functions
{
@ -23,7 +24,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions @@ -23,7 +24,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions
}
string str = args[0].ToString();
if (args.Length == 2) {
var start = Convert.ToInt32(args[1]);
var start = Convert.ToInt32(args[1],CultureInfo.CurrentCulture);
return str.Substring(start);
}
else if (args.Length == 3) {

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/ToString.cs

@ -28,7 +28,7 @@ $Log: /CoreServices/Hsi/ExpressionEvaluator/Parser/Functions/ToString.cs $ @@ -28,7 +28,7 @@ $Log: /CoreServices/Hsi/ExpressionEvaluator/Parser/Functions/ToString.cs $
#endregion
using System;
using System.Globalization;
namespace SimpleExpressionEvaluator.Compilation.Functions
{
@ -51,7 +51,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions @@ -51,7 +51,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions
Array.Copy(args, 1, newArgs, 0, nTarget);
try
{
return String.Format(strFormat, newArgs);
return String.Format(CultureInfo.CurrentCulture, strFormat, newArgs);
}
catch (Exception ex)
{

22
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/ConnectionObjectFactory.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
using System;
using System.Data.Common;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.Factories
{
/// <summary>
/// This Class is a FactoryClass for <see cref="ConnectionObject"></see>
@ -23,25 +23,5 @@ namespace ICSharpCode.Reports.Core @@ -23,25 +23,5 @@ namespace ICSharpCode.Reports.Core
return ConnectionObject.CreateInstance(reportSettings.ConnectionString,
DbProviderFactories.GetFactory("System.Data.OleDb"));
}
public static ConnectionObject BuildConnectionObject (string connectionString)
{
if (String.IsNullOrEmpty(connectionString)) {
throw new ArgumentNullException("connectionString");
}
return ConnectionObject.CreateInstance(connectionString,
DbProviderFactories.GetFactory("System.Data.OleDb"));
}
public static ConnectionObject BuildConnectionObject (ReportParameters reportParameters)
{
if (reportParameters == null) {
throw new ArgumentNullException("reportParameters");
}
return reportParameters.ConnectionObject;
}
}
}

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/DataManagerFacrory.cs

@ -5,6 +5,7 @@ using System; @@ -5,6 +5,7 @@ using System;
using System.Collections;
using System.Data;
using ICSharpCode.Reports.Core.DataAccess;
using ICSharpCode.Reports.Core.Interfaces;
using ICSharpCode.Reports.Core.Project.Interfaces;

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/IStringBasedEditorDialog.cs → src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IStringBasedEditorDialog.cs

@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
using System;
using System.Windows.Forms;
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core.Interfaces
{
/// <summary>
/// Description of EditorDialog.

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs

@ -39,7 +39,7 @@ namespace ICSharpCode.Reports.Core { @@ -39,7 +39,7 @@ namespace ICSharpCode.Reports.Core {
throw new ArgumentNullException("graphics");
}
using (Pen p = baseline.CreatePen(baseline.Thickness)) {
Rectangle r = System.Drawing.Rectangle.Inflate(rectangle,1,1);
// Rectangle r = System.Drawing.Rectangle.Inflate(rectangle,1,1);
graphics.DrawRectangle (p,rectangle);
}
}

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs

@ -159,12 +159,6 @@ namespace ICSharpCode.Reports.Core { @@ -159,12 +159,6 @@ namespace ICSharpCode.Reports.Core {
ITableContainer tableContainer = base.CurrentSection.Items[0] as ITableContainer;
IBaseRenderer r = PrintRendererFactory.CreateRenderer(base.CurrentSection.Items[0],nav,base.SinglePage,base.Layout,CurrentSection);
if ( r != null) {
// r.Render(tableContainer,rpea,Evaluator);
}
// branch to render table's etc
if (tableContainer != null)
{

157
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RenderTable.cs

@ -1,157 +0,0 @@ @@ -1,157 +0,0 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 10.10.2010
* Time: 17:37
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.Interfaces;
using ICSharpCode.Reports.Expressions.ReportingLanguage;
namespace ICSharpCode.Reports.Core
{
/// <summary>
/// Description of RenderTable.
/// </summary>
public class RenderTable:IBaseRenderer
{
IDataNavigator dataNavigator;
Rectangle parentRectangle;
ISinglePage singlePage;
ILayouter layouter;
ReportPageEventArgs reportPageEventArgs;
BaseSection currentSection;
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 event EventHandler<ICSharpCode.Reports.Core.Events.NewPageEventArgs> PageFull;
public event EventHandler<SectionRenderEventArgs> SectionRendering;
public void Render (ISimpleContainer table,ReportPageEventArgs rpea,IExpressionEvaluatorFacade evaluator)
{
if (this.dataNavigator.CurrentRow < 0 ) {
this.dataNavigator.MoveNext();
}
this.reportPageEventArgs = rpea;
Point saveLocation = table.Location;
Rectangle pageBreakRect = Rectangle.Empty;
Point currentPosition = new Point(PrintHelper.DrawingAreaRelativeToParent(this.currentSection,table).Location.X,
this.currentSection.Location.Y);
table.Items.SortByLocation();
Size rs = Size.Empty;
// ISimpleContainer headerRow = null;
var simpleContainer = table.Items[0] as ISimpleContainer;
// foreach (BaseRowItem row in table.Items)
// {
rs = simpleContainer.Size;
PrintHelper.AdjustParent(table,table.Items);
// if (PrintHelper.IsTextOnlyRow(simpleContainer) )
// {
LayoutHelper.SetLayoutForRow(ReportPageEventArgs.PrintPageEventArgs.Graphics,Layouter,simpleContainer);
var r = StandardPrinter.RenderContainer(simpleContainer,evaluator,currentPosition,ReportPageEventArgs);
currentPosition = PrintHelper.ConvertRectangleToCurentPosition (r);
table.Location = saveLocation;
// }
// else {
//---------------
simpleContainer = table.Items[1] as ISimpleContainer;
int adjust = simpleContainer.Location.Y - saveLocation.Y;
simpleContainer.Location = new Point(simpleContainer.Location.X,simpleContainer.Location.Y - adjust - 3 * GlobalValues.GapBetweenContainer);
rs = simpleContainer.Size;
do {
pageBreakRect = PrintHelper.CalculatePageBreakRectangle((BaseReportItem)table,currentPosition);
if (PrintHelper.IsPageFull(pageBreakRect,this.SectionBounds)) {
table.Location = saveLocation;
AbstractRenderer.PageBreak(ReportPageEventArgs);
return;
}
this.dataNavigator.Fill(simpleContainer.Items);
LayoutHelper.SetLayoutForRow(ReportPageEventArgs.PrintPageEventArgs.Graphics,Layouter,simpleContainer);
r = StandardPrinter.RenderContainer(simpleContainer,evaluator,currentPosition,ReportPageEventArgs);
currentPosition = PrintHelper.ConvertRectangleToCurentPosition (r);
simpleContainer.Size = rs;
}
while (this.dataNavigator.MoveNext());
//-----
// }
}
public ICSharpCode.Reports.Core.BaseClasses.SectionBounds SectionBounds {
get {
return this.singlePage.SectionBounds;
}
}
public IDataNavigator DataNavigator {
get {
return this.dataNavigator;
}
}
public System.Drawing.Rectangle ParentRectangle {
get {
return this.parentRectangle;
}
}
public ISinglePage SinglePage {
get {
return this.singlePage;
}
}
public ILayouter Layouter {
get {
return this.layouter;
}
}
public System.Drawing.Graphics Graphics {get;set;}
public ReportPageEventArgs ReportPageEventArgs {
get { return reportPageEventArgs; }
set { reportPageEventArgs = value; }
}
}
}

37
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/RendererFactory.cs

@ -1,37 +0,0 @@ @@ -1,37 +0,0 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 10.10.2010
* Time: 17:28
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using ICSharpCode.Reports.Core.Interfaces;
namespace ICSharpCode.Reports.Core
{
/// <summary>
/// Description of RendererFactory.
/// </summary>
public static class PrintRendererFactory
{
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;
}
}
}

122
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs

@ -8,9 +8,9 @@ using System.Drawing.Printing; @@ -8,9 +8,9 @@ using System.Drawing.Printing;
using System.IO;
using System.Windows.Forms;
using System.Xml;
using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.BaseClasses;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Factories;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.Interfaces;
@ -43,7 +43,7 @@ namespace ICSharpCode.Reports.Core { @@ -43,7 +43,7 @@ namespace ICSharpCode.Reports.Core {
#endregion
#region create Connection handle Sql Parameter's
/*
public static ConnectionObject PrepareConnectionFromParameters (ReportSettings settings,
ReportParameters reportParameters)
{
@ -58,11 +58,11 @@ namespace ICSharpCode.Reports.Core { @@ -58,11 +58,11 @@ namespace ICSharpCode.Reports.Core {
}
if (!String.IsNullOrEmpty(settings.ConnectionString)) {
conObj = ConnectionObjectFactory.BuildConnectionObject(settings.ConnectionString);
conObj = ConnectionObjectFactory.BuildConnectionObject(settings);
}
return conObj;
}
*/
#endregion
@ -102,19 +102,38 @@ namespace ICSharpCode.Reports.Core { @@ -102,19 +102,38 @@ namespace ICSharpCode.Reports.Core {
model.ReportSettings.SortColumnsCollection.AddRange(reportParameters.SortColumnCollection);
}
if (reportParameters.SqlParameters.Count > 0) {
foreach (BasicParameter bp in reportParameters.SqlParameters) {
BasicParameter p = model.ReportSettings.ParameterCollection.Find(bp.ParameterName);
if (p != null) {
p.ParameterValue = bp.ParameterValue;
}
}
if (reportParameters.Parameters.Count > 0)
{
reportParameters.Parameters.ForEach(item => SetReportParam(model,item));
}
if (reportParameters.SqlParameters.Count > 0)
{
reportParameters.SqlParameters.ForEach(item => SetSqlParam(model,item));
}
}
}
private static void SetReportParam (IReportModel model,BasicParameter param)
{
var p = model.ReportSettings.ParameterCollection.Find(param.ParameterName);
if (p != null) {
p.ParameterValue = param.ParameterValue;
}
}
private static void SetSqlParam (IReportModel model,SqlParameter param)
{
var p = model.ReportSettings.SqlParameters.Find(param.ParameterName);
if (p != null) {
p.ParameterValue = param.ParameterValue;
}
}
/*
protected static ColumnCollection CollectFieldsFromModel(ReportModel model){
if (model == null) {
throw new ArgumentNullException("model");
@ -132,7 +151,7 @@ namespace ICSharpCode.Reports.Core { @@ -132,7 +151,7 @@ namespace ICSharpCode.Reports.Core {
}
return col;
}
*/
/// <summary>
/// Creates an <see cref="AbstractRenderer"></see>
@ -237,9 +256,8 @@ namespace ICSharpCode.Reports.Core { @@ -237,9 +256,8 @@ namespace ICSharpCode.Reports.Core {
try {
model = LoadReportModel (fileName);
ReportParameters pars = new ReportParameters();
pars.ConnectionObject = null;
pars.SqlParameters.AddRange (model.ReportSettings.ParameterCollection);
pars.Parameters.AddRange (model.ReportSettings.ParameterCollection);
pars.SqlParameters.AddRange(model.ReportSettings.SqlParameters);
return pars;
} catch (Exception) {
throw;
@ -284,24 +302,6 @@ namespace ICSharpCode.Reports.Core { @@ -284,24 +302,6 @@ namespace ICSharpCode.Reports.Core {
#endregion
#region Preview to Windows PreviewDialog
///<summary>
/// Opens the PreviewDialog as standalone, so, no need for Designer
/// </summary>
///<param name="fileName">Report's Filenema</param>
/// <param name="/// <summary>
/// send report to printer
/// </summary>
/// <param name="fileName">Path to ReportFile</param>
[Obsolete ("use public void PreviewStandardReport (string fileName,null)")]
public void PreviewStandardReport (string fileName)
{
if (String.IsNullOrEmpty(fileName)) {
throw new ArgumentNullException("fileName");
}
PreviewStandardReport (fileName,null);
}
public void PreviewStandardReport (string fileName,ReportParameters reportParameters)
{
@ -322,25 +322,6 @@ namespace ICSharpCode.Reports.Core { @@ -322,25 +322,6 @@ namespace ICSharpCode.Reports.Core {
}
}
/// <summary>
/// Preview a "PushModel - Report"
/// </summary>
/// <param name="fileName">Filename to the location of the ReportFile</param>
/// <param name="dataTable">a Datatable, containing the data</param>
[Obsolete("use public void PreviewPushDataReport (string fileName,DataTable dataTable,null)")]
// public void PreviewPushDataReport (string fileName,DataTable dataTable)
// {
// if (String.IsNullOrEmpty(fileName)) {
// throw new ArgumentNullException("fileName");
// }
// if (dataTable == null) {
// throw new ArgumentNullException("dataTable");
// }
// this.PreviewPushDataReport(fileName,dataTable,null);
// }
public void PreviewPushDataReport (string fileName,DataTable dataTable,ReportParameters reportParameters)
{
@ -363,19 +344,6 @@ namespace ICSharpCode.Reports.Core { @@ -363,19 +344,6 @@ namespace ICSharpCode.Reports.Core {
}
}
[Obsolete ("use public void PreviewPushDataReport (string fileName,IList list,null)")]
// public void PreviewPushDataReport (string fileName,IList list)
// {
// if (String.IsNullOrEmpty(fileName)) {
// throw new ArgumentNullException("fileName");
// }
// if (list == null) {
// throw new ArgumentNullException("list");
// }
// this.PreviewPushDataReport(fileName,list,null);
// }
public void PreviewPushDataReport (string fileName,IList list,ReportParameters reportParameters)
{
@ -435,7 +403,7 @@ namespace ICSharpCode.Reports.Core { @@ -435,7 +403,7 @@ namespace ICSharpCode.Reports.Core {
/// </summary>
/// <param name="reportModel"></param>
/// <returns></returns>
/*
internal static IReportCreator CreatePageBuilder (IReportModel reportModel)
{
if (reportModel == null) {
@ -445,7 +413,7 @@ namespace ICSharpCode.Reports.Core { @@ -445,7 +413,7 @@ namespace ICSharpCode.Reports.Core {
IReportCreator builder = DataPageBuilder.CreateInstance(reportModel, dataMan);
return builder;
}
*/
/// <summary>
///
@ -560,15 +528,15 @@ namespace ICSharpCode.Reports.Core { @@ -560,15 +528,15 @@ namespace ICSharpCode.Reports.Core {
/// </summary>
/// <param name="fileName">Path to ReportFile</param>
/// <param name="renderTo">Type of renderer currently only "ToText" is implemented</param>
[Obsolete("use PrintStandardReport (fileName,null)")]
public void PrintStandardReport (string fileName) {
if (String.IsNullOrEmpty(fileName)) {
throw new ArgumentNullException("fileName");
}
PrintStandardReport (fileName,null);
}
// [Obsolete("use PrintStandardReport (fileName,null)")]
// public void PrintStandardReport (string fileName) {
// if (String.IsNullOrEmpty(fileName)) {
// throw new ArgumentNullException("fileName");
// }
// PrintStandardReport (fileName,null);
//
// }
//
public void PrintStandardReport (string fileName,ReportParameters reportParameters) {
if (String.IsNullOrEmpty(fileName)) {

67
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportParameters.cs

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.Reports.Core.Interfaces;
/// <summary>
/// This Class holds all the Paramters needed to customize a Report
@ -11,49 +12,54 @@ using System; @@ -11,49 +12,54 @@ using System;
/// created by - Forstmeier Peter
/// created on - 17.11.2005 22:41:26
/// </remarks>
namespace ICSharpCode.Reports.Core
namespace ICSharpCode.Reports.Core
{
public class ReportParameters
public interface IReportParameters
{
private ConnectionObject connectionObject;
private ParameterCollection sqlParameters;
ConnectionObject ConnectionObject { get; set; }
SqlParameterCollection SqlParameters { get; }
ParameterCollection Parameters { get; }
SortColumnCollection SortColumnCollection { get; }
}
public class ReportParameters : IReportParameters
{
private ParameterCollection parameters;
private SqlParameterCollection sqlParameters;
private SortColumnCollection sortColumnCollection;
public ReportParameters()
{
}
public ReportParameters(ConnectionObject connectionObject)
public ReportParameters()
{
this.connectionObject = connectionObject;
}
public ConnectionObject ConnectionObject
{
public ConnectionObject ConnectionObject { get; set; }
public SqlParameterCollection SqlParameters {
get {
return connectionObject;
}
set {
connectionObject = value;
if (this.sqlParameters == null) {
this.sqlParameters = new SqlParameterCollection();
}
return sqlParameters;
}
}
public ParameterCollection SqlParameters
{
public ParameterCollection Parameters {
get {
if (this.sqlParameters == null) {
this.sqlParameters = new ParameterCollection();
if (this.parameters == null) {
this.parameters = new ParameterCollection();
}
return sqlParameters;
return parameters;
}
}
public SortColumnCollection SortColumnCollection
{
public SortColumnCollection SortColumnCollection {
get {
if (this.sortColumnCollection == null) {
this.sortColumnCollection = new SortColumnCollection();
@ -61,6 +67,5 @@ namespace ICSharpCode.Reports.Core @@ -61,6 +67,5 @@ namespace ICSharpCode.Reports.Core
return sortColumnCollection;
}
}
}
}

13
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs

@ -44,7 +44,8 @@ namespace ICSharpCode.Reports.Core{ @@ -44,7 +44,8 @@ namespace ICSharpCode.Reports.Core{
private string reportName;
private string fileName;
private SqlParameterCollection sqlParameters;
private ParameterCollection parameterCollection;
private AvailableFieldsCollection availableFields;
private GroupColumnCollection groupingsCollection;
@ -104,6 +105,7 @@ namespace ICSharpCode.Reports.Core{ @@ -104,6 +105,7 @@ namespace ICSharpCode.Reports.Core{
this.availableFields = new AvailableFieldsCollection();
this.groupingsCollection = new GroupColumnCollection();
this.sortingCollection = new SortColumnCollection();
this.sqlParameters = new SqlParameterCollection();
this.parameterCollection = new ParameterCollection();
this.NoDataMessage = "No Data for this Report";
}
@ -249,6 +251,15 @@ namespace ICSharpCode.Reports.Core{ @@ -249,6 +251,15 @@ namespace ICSharpCode.Reports.Core{
get{return parameterCollection;}
}
[Category("Parameters")]
[EditorAttribute ( typeof(ParameterCollectionEditor),
typeof(System.Drawing.Design.UITypeEditor) )]
public SqlParameterCollection SqlParameters
{
get { return sqlParameters; }
}
#endregion
#region DataRelated

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs

@ -86,8 +86,11 @@ namespace ICSharpCode.Reports.Core.ReportViewer @@ -86,8 +86,11 @@ namespace ICSharpCode.Reports.Core.ReportViewer
if (reportModel.DataModel == GlobalEnums.PushPullModel.FormSheet) {
RunFormSheet(reportModel);
} else {
ReportEngine.CheckForParameters(reportModel, parameters);
var dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters);
RunReport(reportModel,dataManager);
}
}

20
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Collections/ParametersCollectionFixture.cs

@ -109,26 +109,6 @@ namespace ICSharpCode.Reports.Core.Test.Basics @@ -109,26 +109,6 @@ namespace ICSharpCode.Reports.Core.Test.Basics
Assert.AreEqual(System.Data.DbType.String,bp.DataType);
}
[Test]
public void ExtractAllSqlParameters ()
{
ParameterCollection p = this.CollectionWithSQLParameters();
p.Add(new SqlParameter ("sql",System.Data.DbType.String,"SqlParameter2"));
System.Collections.Generic.List<SqlParameter> pp = p.ExtractSqlParameters();
Assert.IsNotNull(pp);
Assert.AreEqual(2,pp.Count);
SqlParameter p1 = pp[0];
//p.Add(new SqlParameter ("p2",System.Data.DbType.String,"Parameter2"));
Assert.AreEqual("p2",p1.ParameterName);
Assert.AreEqual("Parameter2",p1.ParameterValue);
Assert.AreEqual(System.Data.DbType.String,p1.DataType);
// p.Add(new SqlParameter ("sql",System.Data.DbType.String,"SqlParameter2"));
SqlParameter p2 = pp[1];
Assert.AreEqual("sql",p2.ParameterName);
Assert.AreEqual("SqlParameter2",p2.ParameterValue);
Assert.AreEqual(System.Data.DbType.String,p2.DataType);
}
#endregion
[Test]

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IConnectionDataManagerFixture.cs

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
using System;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.DataAccess;
using ICSharpCode.Reports.Core.Project.Interfaces;
using ICSharpCode.Reports.Core.Test.TestHelpers;
using NUnit.Framework;

139
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/ListStrategy/GroupListFixture.cs

@ -19,7 +19,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy @@ -19,7 +19,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy
#region standard test's
[Test]
public void AvaiableFields_Should_Be_Set()
public void AvaiableFieldsShouldSet()
{
var dataNavigator = PrepareStringGrouping();
dataNavigator.MoveNext();
@ -34,7 +34,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy @@ -34,7 +34,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy
#region Group by StringValue
[Test]
public void Has_Children()
public void HasChildren()
{
var dataNavigator = PrepareStringGrouping();
while (dataNavigator.MoveNext()) {
@ -44,7 +44,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy @@ -44,7 +44,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy
[Test]
public void Can_Read_Child_Count ()
public void ReadChildCount ()
{
var dataNavigator = PrepareStringGrouping();
while (dataNavigator.MoveNext())
@ -59,7 +59,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy @@ -59,7 +59,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy
[Test]
public void Can_FillChild()
public void FillCollection()
{
var dataNavigator = PrepareStringGrouping();
ReportItemCollection searchCol = new ReportItemCollection();
@ -85,15 +85,13 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy @@ -85,15 +85,13 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy
{
dataNavigator.Fill(searchCol);
var b = (BaseDataItem)searchCol[1];
Console.WriteLine("-- <{0}>-",b.DBValue);
// Console.WriteLine("-- <{0}>-",b.DBValue);
var childNavigator = dataNavigator.GetChildNavigator;
do
{
Assert.That(dataNavigator.HasChildren,Is.True);
childNavigator.Fill(searchCol);
var a = (BaseDataItem)searchCol[0];
Console.WriteLine ("\t{0}",a.DBValue);
var filledItem = (BaseDataItem)searchCol[0];
Assert.That(filledItem.DBValue,Is.Not.Empty);
}
while (childNavigator.MoveNext());
}
@ -103,12 +101,13 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy @@ -103,12 +101,13 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy
[Test]
public void Collection_Contains_Subclass ()
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;
@ -132,107 +131,91 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy @@ -132,107 +131,91 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy
}
);
dataNavigator.Reset();
dataNavigator.MoveNext();
string compare = string.Empty;
do
while (dataNavigator.MoveNext())
{
dataNavigator.Fill(searchCol);
var a1 = (BaseDataItem)searchCol[0];
var b1 = (BaseDataItem)searchCol[2];
Console.WriteLine ("-----{0} - {1}------",a1.DBValue,b1.DBValue);
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 a = (BaseDataItem)searchCol[0];
var b = (BaseDataItem)searchCol[1];
var c = (BaseDataItem)searchCol[2];
Console.WriteLine ("\t{0} - {1} - {2}",a.DBValue,b.DBValue,c.DBValue);
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;
}
while (dataNavigator.MoveNext());
}
#endregion
#region FieldReference
[Test]
public void Check_Field_Reference()
public void SortChildrenDescending()
{
var modifyedCollection = this.ModifyCollection();
GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending);
ReportSettings rs = new ReportSettings();
GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending);
rs.GroupColumnsCollection.Add(gc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(modifyedCollection,rs);
IDataNavigator dataNavigator = dm.GetNavigator;
ReportItemCollection searchCol = new ReportItemCollection();
SortColumn sc = new SortColumn("Last",ListSortDirection.Descending);
rs.SortColumnsCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.contributorCollection,rs);
var dataNavigator = dm.GetNavigator;
ReportItemCollection searchCol = new ReportItemCollection();
searchCol.Add(new BaseDataItem ()
{
ColumnName ="DummyClass.DummyString"
}
);
searchCol.Add(new BaseDataItem ()
{
Name ="Last",
ColumnName ="Last"
Name ="Last",
ColumnName ="Last"
}
);
searchCol.Add(new BaseDataItem ()
{
ColumnName ="GroupItem"
ColumnName ="GroupItem"
}
);
// searchCol.Add(new BaseTextItem()
// {
// Name ="FieldRef",
// Text ="=Fields!Last"
// }
// );
dataNavigator.Reset();
dataNavigator.MoveNext();
string compare = String.Empty;
do
while (dataNavigator.MoveNext())
{
dataNavigator.Fill(searchCol);
var a1 = (BaseDataItem)searchCol[0];
var b1 = (BaseDataItem)searchCol[2];
Console.WriteLine ("-----{0} - {1}------",a1.DBValue,b1.DBValue);
if (dataNavigator.HasChildren)
{
var column = (BaseDataItem)searchCol[1];
var result = column.DBValue.ToString();
Assert.That (compare,Is.LessThan(result));
if (dataNavigator.HasChildren) {
string compareChild = String.Empty;
var childNavigator = dataNavigator.GetChildNavigator;
do
{
var dataRow = childNavigator.GetDataRow;
var item = dataRow.Find("Last");
// childNavigator.Fill(searchCol);
// var a = (BaseDataItem)searchCol[0];
// var b = (BaseDataItem)searchCol[1];
// var c = (BaseDataItem)searchCol[3];
// Console.WriteLine ("\t{0} - {1} - {2}",a.DBValue,b.DBValue,c.DBValue);
Console.WriteLine(item.Value);
childNavigator.Fill(searchCol);
var childColumn = (BaseDataItem)searchCol[0];
var childResult = childColumn.DBValue.ToString();
// Console.WriteLine("\t{0}",childResult);
if (!String.IsNullOrEmpty(compareChild)) {
Assert.LessOrEqual(childResult,compareChild);
}
compareChild = childResult;
}
while (childNavigator.MoveNext());
}
}
while (dataNavigator.MoveNext());
}
#endregion
#region Group by DataTime
@ -241,9 +224,20 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy @@ -241,9 +224,20 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy
public void DateTimeCan_FillChild()
{
var dataNavigator = PrepareDateTimeGrouping();
ReportItemCollection searchCol = new ReportItemCollection();
searchCol.Add(new BaseDataItem ()
{
Name ="RandomDate",
ColumnName ="Last"
}
);
Console.WriteLine("start datetime");
while (dataNavigator.MoveNext()) {
var compare = System.DateTime.MinValue;
while (dataNavigator.MoveNext())
{
Contributor groupResult = dataNavigator.Current as Contributor;
Assert.LessOrEqual(compare,groupResult.RandomDate);
if (dataNavigator.HasChildren) {
var childNavigator = dataNavigator.GetChildNavigator;
do
@ -251,8 +245,9 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy @@ -251,8 +245,9 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.ListStrategy
Assert.That(dataNavigator.HasChildren,Is.True);
// we know that current is a 'contributor'
Contributor c = dataNavigator.Current as Contributor;
string v2 = c.Last + " GroupVal :" + c.RandomDate;
Console.WriteLine(v2);
Assert.IsNotNull(c);
// string v2 = c.Last + " GroupVal :" + c.RandomDate;
// Console.WriteLine(v2);
}
while (childNavigator.MoveNext());
}

113
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/GroupTableFixture.cs

@ -17,9 +17,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -17,9 +17,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
DataTable table;
[Test]
public void Can_add_GroupColumn ()
public void AddGroupColumn ()
{
GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending);
ReportSettings rs = new ReportSettings();
@ -30,7 +29,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -30,7 +29,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
[Test]
public void AvaiableFields_Should_Be_Set()
public void AvaiableFieldsShouldSet()
{
var dataNavigator = PrepareStringGrouping();
dataNavigator.MoveNext();
@ -44,7 +43,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -44,7 +43,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
#region Group by String
[Test]
public void Has_Children()
public void HasChildren()
{
var dataNavigator = PrepareStringGrouping();
while (dataNavigator.MoveNext()) {
@ -53,7 +52,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -53,7 +52,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
}
[Test]
public void Can_Read_Child_Count ()
public void ReadChildCount ()
{
var dataNavigator = PrepareStringGrouping();
while (dataNavigator.MoveNext())
@ -65,55 +64,129 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -65,55 +64,129 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
}
}
}
[Test]
public void CeckGrouping()
{
var dataNavigator = PrepareStringGrouping();
string compare = string.Empty;
while (dataNavigator.MoveNext())
{
DataRow dr = dataNavigator.Current as DataRow;
var result = dr[3].ToString();
Assert.That (compare,Is.LessThan(result));
compare = result;
}
}
[Test]
public void Can_FillChild()
public void FillChild()
{
var dataNavigator = PrepareStringGrouping();
while (dataNavigator.MoveNext()) {
string compare = string.Empty;
while (dataNavigator.MoveNext())
{
DataRow dr = dataNavigator.Current as DataRow;
Assert.That (compare,Is.LessThan(dr[3].ToString()));
if (dataNavigator.HasChildren)
{
var childNavigator = dataNavigator.GetChildNavigator;
do
{
Assert.That(dataNavigator.HasChildren,Is.True);
DataRow r = dataNavigator.Current as DataRow;
string v2 = r["last"].ToString() + " GroupVal :" + r[3].ToString();
Console.WriteLine(v2);
DataRow r = childNavigator.Current as DataRow;
Assert.That( r[3].ToString(),Is.Not.Empty);
// string v2 = r["last"].ToString() + " GroupVal :" + r[3].ToString();
// Console.WriteLine(v2);
}
while (childNavigator.MoveNext());
}
compare = dr[3].ToString();
}
}
[Test]
public void SortChildrenDescending()
{
ReportSettings rs = new ReportSettings();
GroupColumn gc = new GroupColumn("GroupItem",1,ListSortDirection.Ascending);
rs.GroupColumnsCollection.Add(gc);
SortColumn sc = new SortColumn("Last",ListSortDirection.Descending);
rs.SortColumnsCollection.Add(sc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs);
var dataNavigator = dm.GetNavigator;
string compare = String.Empty;
while (dataNavigator.MoveNext())
{
DataRow dr = dataNavigator.Current as DataRow;
var result = dr[3].ToString();
Assert.That(compare,Is.LessThan(result));
if (dataNavigator.HasChildren)
{
string compareChild = String.Empty;
var childNavigator = dataNavigator.GetChildNavigator;
do
{
DataRow childRow = childNavigator.Current as DataRow;
var childResult = childRow[1].ToString();
if (!String.IsNullOrEmpty(compareChild)) {
Assert.LessOrEqual(childResult,compareChild);
}
// Console.WriteLine("\t{0}",childResult);
compareChild = childResult;
}
while (childNavigator.MoveNext());
}
compare = result;
}
}
#endregion
#region GroupbyDataTime
[Test]
public void DateTimeCan_FillChild()
public void DateTimeCanFillChild()
{
var dataNavigator = PrepareDateTimeGrouping();
while (dataNavigator.MoveNext()) {
var compare = System.DateTime.MinValue;
while (dataNavigator.MoveNext())
{
DataRow dr = dataNavigator.Current as DataRow;
var result = Convert.ToDateTime(dr[5]);
Assert.That (compare,Is.LessThan(result));
if (dataNavigator.HasChildren)
{
var childNavigator = dataNavigator.GetChildNavigator;
do
{
Assert.That(dataNavigator.HasChildren,Is.True);
DataRow r = dataNavigator.Current as DataRow;
string v2 = r["last"].ToString() + " GroupVal :" + r[5].ToString();
Console.WriteLine(v2);
DataRow r = childNavigator.Current as DataRow;
Assert.That( r[3].ToString(),Is.Not.Empty);
// string v2 = r["last"].ToString() + " GroupVal :" + r[5].ToString();
// Console.WriteLine(v2);
}
while (childNavigator.MoveNext());
}
compare = Convert.ToDateTime(dr[5]);
}
}
[Test]
public void DataTime_Has_Children()
public void DataTimeHasChildren()
{
var dataNav = PrepareDateTimeGrouping();
while (dataNav.MoveNext()) {
@ -126,9 +199,9 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -126,9 +199,9 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
#region Try make recursive with ChildNavigator
[Test]
public void Can_Get_ChildNavigator ()
public void GetChildNavigator ()
{
Console.WriteLine("Start Recusive Version");
// Console.WriteLine("Start Recusive Version");
var dataNavigator = PrepareStringGrouping();
while (dataNavigator.MoveNext()) {
@ -138,7 +211,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -138,7 +211,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
string v2 = r["last"].ToString() + " GroupVal :" + r[3].ToString() ;
IDataNavigator child = dataNavigator.GetChildNavigator;
Console.WriteLine(v2);
// Console.WriteLine(v2);
Assert.That (child,Is.Not.Null);
RecursiveCall(child);
}
@ -178,8 +251,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -178,8 +251,8 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
private IDataNavigator PrepareDateTimeGrouping ()
{
GroupColumn gc = new GroupColumn("RandomDate",1,ListSortDirection.Ascending);
ReportSettings rs = new ReportSettings();
GroupColumn gc = new GroupColumn("RandomDate",1,ListSortDirection.Ascending);
rs.GroupColumnsCollection.Add(gc);
IDataManager dm = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.table,rs);
return dm.GetNavigator;

14
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs

@ -19,7 +19,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -19,7 +19,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
[Test]
public void TableStrategy_CanInit()
{
var ts = new ICSharpCode.Reports.Core.TableStrategy(this.table,new ReportSettings());
var ts = new ICSharpCode.Reports.Core.ListStrategy.TableStrategy(this.table,new ReportSettings());
Assert.That(ts != null);
}
@ -30,7 +30,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -30,7 +30,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
public void CanGroup_All_Elements_are_GroupComparer ()
{
GroupColumn groupComparer = new GroupColumn("GroupItem",1,ListSortDirection.Ascending);
ICSharpCode.Reports.Core.TableStrategy tableStrategy = GroupTableStrategyFactory (groupComparer);
ICSharpCode.Reports.Core.ListStrategy.TableStrategy tableStrategy = GroupTableStrategyFactory (groupComparer);
tableStrategy.Bind();
foreach (BaseComparer element in tableStrategy.IndexList)
{
@ -120,7 +120,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -120,7 +120,7 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
reportSettings.SortColumnsCollection.Add(sc);
reportSettings.SortColumnsCollection.Add(sc1);
var tableStrategy = new ICSharpCode.Reports.Core.TableStrategy(this.table,reportSettings);
var tableStrategy = new ICSharpCode.Reports.Core.ListStrategy.TableStrategy(this.table,reportSettings);
string v1 = String.Empty;
foreach (BaseComparer element in tableStrategy.IndexList) {
@ -136,20 +136,20 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy @@ -136,20 +136,20 @@ namespace ICSharpCode.Reports.Core.Test.DataManager.TableStrategy
#region Setup/TearDown
private ICSharpCode.Reports.Core.TableStrategy SortTableStrategyFactory (SortColumn sortColumn)
private ICSharpCode.Reports.Core.ListStrategy.TableStrategy SortTableStrategyFactory (SortColumn sortColumn)
{
var reportSettings = new ReportSettings();
reportSettings.SortColumnsCollection.Add(sortColumn);
var tableStrategy = new ICSharpCode.Reports.Core.TableStrategy(this.table,reportSettings);
var tableStrategy = new ICSharpCode.Reports.Core.ListStrategy.TableStrategy(this.table,reportSettings);
return tableStrategy;
}
private ICSharpCode.Reports.Core.TableStrategy GroupTableStrategyFactory (GroupColumn sortColumn)
private ICSharpCode.Reports.Core.ListStrategy.TableStrategy GroupTableStrategyFactory (GroupColumn sortColumn)
{
var reportSettings = new ReportSettings();
reportSettings.GroupColumnsCollection.Add(sortColumn);
var tableStrategy = new ICSharpCode.Reports.Core.TableStrategy(this.table,reportSettings);
var tableStrategy = new ICSharpCode.Reports.Core.ListStrategy.TableStrategy(this.table,reportSettings);
return tableStrategy;
}

23
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/GlobalFunctions.cs

@ -58,28 +58,6 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests @@ -58,28 +58,6 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
[Test]
#region Template for Resolution
/*
// const string expression = "PageNumber()";
// var compiler = new ReportingLanguageCompiler();
// IExpression compiled = compiler.CompileExpression<string>(expression);
// var context = new ExpressionContext(null);
// context.ResolveUnknownVariable += VariableStore;
// context.ResolveUnknownVariable += (sender, args) =>
// {
// Assert.That(args.VariableName, Is.EqualTo("pagenumber"));
// //args.VariableValue = 123.456;
// };
//Assert.That(compiled.Evaluate(context), Is.EqualTo("15"));
Assert.That(this.evaluator.Evaluate(expression), Is.EqualTo("15"));
//this.evaluator.Evaluate(expression)
*/
#endregion
public void Can_Compile_PageNumber_AsFunction()
{
const string expression = "=PageNumber()";
@ -98,7 +76,6 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests @@ -98,7 +76,6 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
[Test]
public void UnknownFunction_ErrorMessage()
{
const string expression = "=TotalWrongFunction()";
string s = this.evaluator.Evaluate(expression);
Assert.That(s.Contains("TotalWrongFunction"));

Loading…
Cancel
Save