Browse Source

Update Query Parameter handling

reports
Peter Forstmeier 13 years ago
parent
commit
44820a5724
  1. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/PreviewCommands.cs
  2. 16
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/ViewCommands.cs
  3. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs
  4. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportManagers/StandartPreviewManager.cs
  5. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs
  6. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportStructure.cs
  7. 33
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs
  8. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/WPFReportPreview.cs
  9. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/TypeHelpers.cs

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/PreviewCommands.cs

@ -28,7 +28,7 @@ namespace ICSharpCode.Reports.Addin.Commands @@ -28,7 +28,7 @@ namespace ICSharpCode.Reports.Addin.Commands
public override void Run()
{
CollectParametersCommand cmd = new CollectParametersCommand(Model);
CollectParametersCommand cmd = new CollectParametersCommand(Model.ReportSettings);
cmd.Run();
}

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

@ -63,27 +63,27 @@ namespace ICSharpCode.Reports.Addin.Commands @@ -63,27 +63,27 @@ namespace ICSharpCode.Reports.Addin.Commands
public class CollectParametersCommand :AbstractCommand
{
ReportModel model;
ReportSettings reportSettings;
public CollectParametersCommand (ReportModel model)
public CollectParametersCommand (ReportSettings reportSettings)
{
if (model == null) {
throw new ArgumentNullException("model");
if (reportSettings == null) {
throw new ArgumentNullException("ReportSettings");
}
this.model = model;
this.reportSettings = reportSettings;
}
public override void Run()
{
if (model.ReportSettings.SqlParameters.Count > 0) {
using (ParameterDialog paramDialog = new ParameterDialog(model.ReportSettings.SqlParameters))
if (reportSettings.SqlParameters.Count > 0) {
using (ParameterDialog paramDialog = new ParameterDialog(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);
var p = reportSettings.SqlParameters.Find (bp.ParameterName);
p.ParameterValue = bp.ParameterValue;
}
}

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

@ -561,7 +561,7 @@ namespace ICSharpCode.Reports.Addin @@ -561,7 +561,7 @@ namespace ICSharpCode.Reports.Addin
Console.WriteLine("");
ReportModel model = loader.CreateRenderableModel();
IReportCreator reportCreator = null;
var paramCmd = new CollectParametersCommand(model);
var paramCmd = new CollectParametersCommand(model.ReportSettings);
paramCmd.Run();
switch (model.DataModel) {
case GlobalEnums.PushPullModel.FormSheet :

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportManagers/StandartPreviewManager.cs

@ -64,7 +64,7 @@ namespace ICSharpCode.Reports.Addin @@ -64,7 +64,7 @@ namespace ICSharpCode.Reports.Addin
private AbstractRenderer StandartReportRenderer(ReportModel model)
{
ICSharpCode.Reports.Addin.Commands.CollectParametersCommand cmd = new ICSharpCode.Reports.Addin.Commands.CollectParametersCommand(model);
ICSharpCode.Reports.Addin.Commands.CollectParametersCommand cmd = new ICSharpCode.Reports.Addin.Commands.CollectParametersCommand(model.ReportSettings);
cmd.Run();
return base.SetupStandardRenderer (model,null);
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs

@ -63,7 +63,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -63,7 +63,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
this.GroupColumnCollection.AddRange(ReportModel.ReportSettings.GroupColumnsCollection);
}
if (ReportStructure.SqlQueryParameters.Count > 0) {
ReportModel.ReportSettings.ParameterCollection.AddRange(ReportStructure.SqlQueryParameters);
ReportModel.ReportSettings.SqlParameters.AddRange(ReportStructure.SqlQueryParameters);
}
}

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportStructure.cs

@ -101,14 +101,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -101,14 +101,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
public IDatabaseObjectBase IDatabaseObjectBase {get;set;}
// public ParameterCollection SqlQueryParameters {
// get {
// if (this.queryParameters == null) {
// this.queryParameters = new ParameterCollection();
// }
// return queryParameters;
// }
// }
public SqlParameterCollection SqlQueryParameters {get;set;}
#endregion

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

@ -114,11 +114,13 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -114,11 +114,13 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
DataSet dataSet = ResultPanel.CreateDataSet();
IProcedure procedure = reportStructure.IDatabaseObjectBase as IProcedure;
var paramCollection = CheckParameters(procedure);
var sqlParamCollection = CreateSqlParameters(procedure);
if (paramCollection.Count > 0) {
FillParameters(paramCollection);
reportStructure.SqlQueryParameters.AddRange(model.ReportSettings.SqlParameters);
if (sqlParamCollection.Count > 0) {
reportStructure.SqlQueryParameters.AddRange(sqlParamCollection);
model.ReportSettings.SqlParameters.AddRange(sqlParamCollection);
CollectParamValues(model.ReportSettings);
}
dataSet = dataAccess.ReadData();
dataSet.Tables[0].TableName = procedure.Name;
@ -126,27 +128,18 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -126,27 +128,18 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
}
void FillParameters(ParameterCollection paramCollection)
{
foreach (var param in paramCollection) {
SqlParameter s = new SqlParameter()
{
ParameterName = param.ParameterName,
};
model.ReportSettings.SqlParameters.Add(s);
}
CollectParametersCommand p = new CollectParametersCommand(model);
void CollectParamValues(ReportSettings reportSettings){
CollectParametersCommand p = new CollectParametersCommand(reportSettings);
p.Run();
}
ParameterCollection CheckParameters(IProcedure procedure)
SqlParameterCollection CreateSqlParameters(IProcedure procedure)
{
ParameterCollection col = new ParameterCollection();
SqlParameterCollection col = new SqlParameterCollection();
SqlParameter par = null;
foreach (var element in procedure.Items) {
DbType dbType = TypeHelpers.DbTypeFromStringRepresenation(element.DataType);
par = new SqlParameter(element.Name,dbType,"",ParameterDirection.Input);
@ -154,9 +147,9 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -154,9 +147,9 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
par.ParameterDirection = ParameterDirection.Input;
} else if (element.ParameterMode == ParameterMode. InOut){
par.ParameterDirection = ParameterDirection.InputOutput;
par.ParameterDirection = ParameterDirection.InputOutput;
}
col.Add(par);
col.Add(par);
}
return col;
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/WPFReportPreview.cs

@ -43,7 +43,7 @@ namespace ICSharpCode.Reports.Addin.SecondaryViews @@ -43,7 +43,7 @@ namespace ICSharpCode.Reports.Addin.SecondaryViews
{
Pages.Clear();
ReportModel model = designerLoader.CreateRenderableModel();
var collectCmd = new CollectParametersCommand(model);
var collectCmd = new CollectParametersCommand(model.ReportSettings);
collectCmd.Run();
switch (model.DataModel)
{

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

@ -22,6 +22,8 @@ namespace ICSharpCode.Reports.Core.Project.BaseClasses @@ -22,6 +22,8 @@ namespace ICSharpCode.Reports.Core.Project.BaseClasses
{
switch (type.ToLower())
{
case "int":
return DbType.Int16;
case "int16":
return DbType.Int16;
case "int32":

Loading…
Cancel
Save