Browse Source

Modify SqlParameters, adjust NameSpaces

4.1
peterforstmeier 14 years ago
parent
commit
55753768a9
  1. 594
      SharpDevelop.Tests.sln
  2. 2
      samples/SharpDevelopReports/src/ReportSamples.sln
  3. 14
      samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs
  4. 16
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ExplorerCommands.cs
  5. 15
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ViewCommands.cs
  6. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextItemDesigner.cs
  7. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs
  8. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs
  9. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs
  10. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Dialogs/DummyEditorDialog.cs
  11. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Dialogs/TextEditorDialogFixture.cs
  12. 7
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
  13. 38
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Collections/Collections.cs
  14. 31
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ConnectionObject.cs
  15. 18
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataAccess/SqlDataAccess.cs
  16. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataAccess/SqlQueryChecker.cs
  17. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataManager.cs
  18. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs
  19. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs
  20. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs
  21. 5
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/DefaultTextEditor.cs
  22. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/EditorDialog.Designer.cs
  23. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/EditorDialog.cs
  24. 20
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/ParameterDialog.cs
  25. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Dialogs/ParametersCollectionEditor.cs
  26. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportRenderer/ExportRunner.cs
  27. 22
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/ConnectionObjectFactory.cs
  28. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Factories/DataManagerFacrory.cs
  29. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IStringBasedEditorDialog.cs
  30. 14
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs
  31. 47
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportParameters.cs
  32. 11
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs
  33. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs
  34. 20
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Collections/ParametersCollectionFixture.cs
  35. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/IConnectionDataManagerFixture.cs
  36. 14
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/DataManager/TableStragy/TableStrategyFixture.cs

594
SharpDevelop.Tests.sln

File diff suppressed because it is too large Load Diff

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}"

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

@ -110,8 +110,8 @@ namespace SharpReportSamples @@ -110,8 +110,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 +127,13 @@ namespace SharpReportSamples @@ -127,11 +127,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);
@ -185,7 +187,7 @@ namespace SharpReportSamples @@ -185,7 +187,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 +209,7 @@ namespace SharpReportSamples @@ -207,7 +209,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 +229,7 @@ namespace SharpReportSamples @@ -227,7 +229,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";

16
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
{
@ -48,8 +49,6 @@ namespace ICSharpCode.Reports.Addin.Commands @@ -48,8 +49,6 @@ 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)
{
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/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
{

1
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;

1
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

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
{

7
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" />
@ -335,7 +336,6 @@ @@ -335,7 +336,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 +398,7 @@ @@ -398,6 +398,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>

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; }

31
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 interface IConnectionObject
{
IDbDataAdapter CreateDataAdapter(IDbCommand command);
string QueryString { get; set; }
IDbConnection Connection { get; }
DbProviderFactory ProviderFactory { get; }
}
public class ConnectionObject : object,IDisposable {
public class ConnectionObject :IConnectionObject, IDisposable {
IDbConnection connection;
DbProviderFactory providerFactory;
@ -33,25 +43,10 @@ namespace ICSharpCode.Reports.Core { @@ -33,25 +43,10 @@ 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;
}

18
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;}
}

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

@ -18,8 +18,8 @@ using ICSharpCode.Reports.Expressions.ReportingLanguage; @@ -18,8 +18,8 @@ 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
{

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 {

2
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.

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);
}

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;

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.

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

@ -9,8 +9,8 @@ using System.IO; @@ -9,8 +9,8 @@ using System.IO;
using System.Windows.Forms;
using System.Xml;
using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Factories;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.Interfaces;
@ -58,7 +58,7 @@ namespace ICSharpCode.Reports.Core { @@ -58,7 +58,7 @@ namespace ICSharpCode.Reports.Core {
}
if (!String.IsNullOrEmpty(settings.ConnectionString)) {
conObj = ConnectionObjectFactory.BuildConnectionObject(settings.ConnectionString);
conObj = ConnectionObjectFactory.BuildConnectionObject(settings);
}
return conObj;
}
@ -102,15 +102,15 @@ namespace ICSharpCode.Reports.Core { @@ -102,15 +102,15 @@ namespace ICSharpCode.Reports.Core {
model.ReportSettings.SortColumnsCollection.AddRange(reportParameters.SortColumnCollection);
}
if (reportParameters.SqlParameters.Count > 0) {
foreach (BasicParameter bp in reportParameters.SqlParameters) {
if (reportParameters.Parameters.Count > 0) {
foreach (BasicParameter bp in reportParameters.Parameters) {
BasicParameter p = model.ReportSettings.ParameterCollection.Find(bp.ParameterName);
Console.WriteLine("CheckForParameters {0} - {1}",p.ParameterName,p.ParameterValue);
if (p != null) {
p.ParameterValue = bp.ParameterValue;
}
}
}
}
}
@ -237,9 +237,7 @@ namespace ICSharpCode.Reports.Core { @@ -237,9 +237,7 @@ 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);
return pars;
} catch (Exception) {
throw;

47
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
@ -14,46 +15,51 @@ using System; @@ -14,46 +15,51 @@ using System;
namespace ICSharpCode.Reports.Core
{
public class ReportParameters
public interface IReportParameters
{
ConnectionObject ConnectionObject { get; set; }
SqlParameterCollection SqlParameters { get; }
ParameterCollection Parameters { get; }
SortColumnCollection SortColumnCollection { get; }
}
private ConnectionObject connectionObject;
private ParameterCollection sqlParameters;
private SortColumnCollection sortColumnCollection;
public class ReportParameters : IReportParameters
{
private ParameterCollection parameters;
private SqlParameterCollection sqlParameters;
private SortColumnCollection sortColumnCollection;
public ReportParameters()
{
}
public ReportParameters(ConnectionObject connectionObject)
{
this.connectionObject = connectionObject;
}
public ConnectionObject ConnectionObject { get; set; }
public ConnectionObject ConnectionObject
{
public SqlParameterCollection SqlParameters {
get {
return connectionObject;
if (this.sqlParameters == null) {
this.sqlParameters = new SqlParameterCollection();
}
set {
connectionObject = value;
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;
}
}
}
}

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

@ -45,6 +45,7 @@ namespace ICSharpCode.Reports.Core{ @@ -45,6 +45,7 @@ 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

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

@ -87,7 +87,9 @@ namespace ICSharpCode.Reports.Core.ReportViewer @@ -87,7 +87,9 @@ namespace ICSharpCode.Reports.Core.ReportViewer
RunFormSheet(reportModel);
} else {
var dataManager = DataManagerFactory.CreateDataManager(reportModel, parameters);
ReportEngine.CheckForParameters(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;

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;
}

Loading…
Cancel
Save