Skip to content

Commit

Permalink
Light interface refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
EvilLord666 committed Apr 22, 2018
1 parent 2e27309 commit 7166275
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public void TestGenerateReport()
// executing extraction ...
object[] parameters = ExcelReportGeneratorHelper.CreateParameters(1, 2, 3);
IReportGeneratorManager manager = new ExcelReportGeneratorManager(Server, _testDbName);
Task<bool> result = manager.Generate(TestExcelTemplate, DataExecutionConfig, ReportFile, parameters);
Task<bool> result = manager.GenerateAsync(TestExcelTemplate, DataExecutionConfig, ReportFile, parameters);
result.Wait();
Assert.True(result.Result);
TearDownTestData();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@ public ExecutionConfig()
{
}

public ExecutionConfig(ReportDataSource dataSource, IList<StoredProcedureParameter> storedProcedureParameters,
public ExecutionConfig(ReportDataSource dataSource, string name, IList<StoredProcedureParameter> storedProcedureParameters,
ViewParameters viewParameters)
{
DataSource = dataSource;
Name = name;
StoredProcedureParameters = storedProcedureParameters.ToList();
ViewParameters = viewParameters;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,23 @@ public ExcelReportGeneratorManager(string connectionString)
_extractor = new SimpleDbExtractor(connectionString);
}

public async Task<bool> Generate(string template, string executionConfigFile, string reportFile, object[] parameters)
public async Task<bool> GenerateAsync(string template, string executionConfigFile, string reportFile, object[] parameters)
{
ExecutionConfig config = ExecutionConfigManager.Read(executionConfigFile);
return await GenerateImplAsync(template, config, reportFile, parameters);
}

public async Task<bool> GenerateAsync(string template, ExecutionConfig config, string reportFile, object[] parameters)
{
return await GenerateImplAsync(template, config, reportFile, parameters);
}

public async Task<bool> GenerateImplAsync(string template, ExecutionConfig config, string reportFile, object[] parameters)
{
try
{
ExecutionConfig config = ExecutionConfigManager.Read(executionConfigFile);
DbData result = config.DataSource == ReportDataSource.View ? await _extractor.ExtractAsync(config.Name, config.ViewParameters)
: await _extractor.ExtractAsync(config.Name, config.StoredProcedureParameters);
: await _extractor.ExtractAsync(config.Name, config.StoredProcedureParameters);
if (result == null)
return false;
IReportGenerator generator = new ExcelReportGenerator(template, reportFile);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using System.Threading.Tasks;
using ReportGenerator.Core.Config;

namespace ReportGenerator.Core.ReportsGenerator
{
public interface IReportGeneratorManager
{
Task<bool> Generate(string template, string executionConfigFile, string reportFile, object[] parameters);
Task<bool> GenerateAsync(string template, string executionConfigFile, string reportFile, object[] parameters);
Task<bool> GenerateAsync(string template, ExecutionConfig config, string reportFile, object[] parameters);
}
}

0 comments on commit 7166275

Please sign in to comment.