Skip to content

Commit 33f39c2

Browse files
committed
Merge branch 'develop'
2 parents 50c6f66 + b95d37a commit 33f39c2

File tree

123 files changed

+1573
-923
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+1573
-923
lines changed

IntegrationEngine.Client/package.nuspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
<authors>$author$</authors>
88
<owners>Ethan Hann</owners>
99
<licenseUrl>https://github.com/ethanhann/InEngine.NET/blob/master/IntegrationEngine/LICENSE</licenseUrl>
10-
<projectUrl>https://github.com/ethanhann/InEngine.NET</projectUrl>
10+
<projectUrl>http://inengine.net</projectUrl>
11+
<iconUrl>http://inengine.net/images/inengine-logo-32.png</iconUrl>
1112
<releaseNotes>http://inengine.net/change-log.html</releaseNotes>
1213
<requireLicenseAcceptance>true</requireLicenseAcceptance>
1314
<description>Client of IntegrationServer, an asynchronous job scheduling server.</description>

IntegrationEngine.ConsoleHost/IntegrationEngine.ConsoleHost.csproj

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121
<DefineConstants>DEBUG;</DefineConstants>
2222
<ErrorReport>prompt</ErrorReport>
2323
<WarningLevel>4</WarningLevel>
24-
<Externalconsole>true</Externalconsole>
2524
<PlatformTarget>x86</PlatformTarget>
25+
<Externalconsole>true</Externalconsole>
26+
<ConsolePause>false</ConsolePause>
2627
</PropertyGroup>
2728
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
2829
<DebugType>full</DebugType>
@@ -44,6 +45,8 @@
4445
<Prefer32Bit>true</Prefer32Bit>
4546
<WarningLevel>4</WarningLevel>
4647
<Optimize>false</Optimize>
48+
<ConsolePause>false</ConsolePause>
49+
<Externalconsole>true</Externalconsole>
4750
</PropertyGroup>
4851
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
4952
<OutputPath>bin\Release\</OutputPath>
@@ -92,11 +95,15 @@
9295
<Compile Include="IntegrationJobs\CarReport\CarReport.cs" />
9396
<Compile Include="IntegrationJobs\CarReport\CarReportJob.cs" />
9497
<Compile Include="IntegrationJobs\CarReport\CarMailMessageJob.cs" />
98+
<Compile Include="IntegrationJobs\SampleSqlReport\SampleSqlReportJobWithIntegrationPoints.cs" />
99+
<Compile Include="IntegrationPoints\FooMailClient.cs" />
100+
<Compile Include="IntegrationPoints\BarSqlServer.cs" />
101+
<Compile Include="IntegrationPoints\IFooMailClient.cs" />
95102
</ItemGroup>
96103
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
97104
<ItemGroup>
98105
<ProjectReference Include="..\IntegrationEngine.Client\IntegrationEngine.Client.csproj">
99-
<Project>{f3fcb706-f0dd-46c1-b121-785757fae9b9}</Project>
106+
<Project>{F3FCB706-F0DD-46C1-B121-785757FAE9B9}</Project>
100107
<Name>IntegrationEngine.Client</Name>
101108
</ProjectReference>
102109
<ProjectReference Include="..\IntegrationEngine.Core\IntegrationEngine.Core.csproj">
@@ -132,4 +139,7 @@
132139
</Content>
133140
</ItemGroup>
134141
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
142+
<ItemGroup>
143+
<Folder Include="IntegrationPoints\" />
144+
</ItemGroup>
135145
</Project>

IntegrationEngine.ConsoleHost/IntegrationJobs/CarReport/CarMailMessageJob.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,28 @@
1-
using IntegrationEngine.Core.Jobs;
1+
using IntegrationEngine.ConsoleHost.IntegrationPoints;
2+
using IntegrationEngine.Core.IntegrationJob;
23
using IntegrationEngine.Core.Mail;
34
using System;
45
using System.Collections.Generic;
56
using System.Net.Mail;
7+
using RazorEngine.Configuration;
68

79
namespace IntegrationEngine.ConsoleHost.Car
810
{
9-
public class CarMailMessageJob : IMailJob, IParameterizedJob
11+
public class CarMailMessageJob : IParameterizedJob
1012
{
1113
public IMailClient MailClient { get; set; }
1214
public IDictionary<string, string> Parameters { get; set; }
1315

16+
public CarMailMessageJob()
17+
{
18+
}
19+
20+
public CarMailMessageJob(FooMailClient mailClient)
21+
: this()
22+
{
23+
MailClient = mailClient;
24+
}
25+
1426
public void Run()
1527
{
1628
var mailMessage = new MailMessage();

IntegrationEngine.ConsoleHost/IntegrationJobs/CarReport/CarReportJob.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using System;
2-
using IntegrationEngine.Core.Jobs;
2+
using IntegrationEngine.Core.IntegrationJob;
33
using IntegrationEngine.Core.Reports;
44

55
namespace IntegrationEngine.ConsoleHost.IntegrationJobs.CarReport

IntegrationEngine.ConsoleHost/IntegrationJobs/SampleSqlReport/SampleSqlReportJob.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using IntegrationEngine.Core.Jobs;
1+
using IntegrationEngine.ConsoleHost.IntegrationPoints;
2+
using IntegrationEngine.Core.IntegrationJob;
23
using IntegrationEngine.Core.Mail;
34
using RazorEngine;
45
using RazorEngine.Templating;
@@ -7,9 +8,16 @@
78

89
namespace IntegrationEngine.ConsoleHost.IntegrationJobs.SampleSqlReport
910
{
10-
public class SampleSqlReportJob : SqlJob
11+
public class SampleSqlReportJob : IIntegrationJob
1112
{
12-
public override void Run()
13+
public IMailClient MailClient { get; set; }
14+
15+
public SampleSqlReportJob (FooMailClient fooMailClient)
16+
{
17+
MailClient = fooMailClient;
18+
}
19+
20+
public void Run()
1321
{
1422
try
1523
{
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
using IntegrationEngine.Core.IntegrationJob;
2+
using IntegrationEngine.ConsoleHost.IntegrationPoints;
3+
using RazorEngine;
4+
using RazorEngine.Templating;
5+
using System;
6+
using System.Net.Mail;
7+
8+
namespace IntegrationEngine.ConsoleHost.IntegrationJobs.SampleSqlReport
9+
{
10+
public class SampleSqlReportJobWithIntegrationPoints : IIntegrationJob
11+
{
12+
public FooMailClient FooMailClient { get; set; }
13+
public BarSqlServer BarSqlServer { get; set; }
14+
15+
public void Run()
16+
{
17+
try
18+
{
19+
var report = new SampleReport() {
20+
Created = DateTime.Now,
21+
Data = new System.Collections.Generic.List<SampleDatum>(),
22+
//Data = RunQuery<SampleDatum>(),
23+
};
24+
25+
// Pass into Razor engine
26+
string template = "Created on <strong>@Model.Created</strong> with <strong>@Model.Data.Count</strong> records.";
27+
var html = Engine.Razor.RunCompile(template, "template-01", typeof(SampleReport), report);
28+
29+
// Send Mail
30+
var mailMessage = new MailMessage();
31+
mailMessage.To.Add("ethanhann@gmail.com");
32+
mailMessage.Subject = "Sample SQL Report";
33+
mailMessage.From = new MailAddress("root@localhost");
34+
mailMessage.Body = html;
35+
mailMessage.IsBodyHtml = true;
36+
FooMailClient.Send(mailMessage);
37+
}
38+
catch (Exception exception)
39+
{
40+
throw new IntegrationJobRunFailureException("SampleSqlReportJob failed.", exception);
41+
}
42+
}
43+
}
44+
}
45+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using System;
2+
3+
namespace IntegrationEngine.ConsoleHost.IntegrationPoints
4+
{
5+
public class BarSqlServer
6+
{}
7+
}
8+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System;
2+
using IntegrationEngine.Core.Mail;
3+
using IntegrationEngine.Core.Configuration;
4+
5+
namespace IntegrationEngine.ConsoleHost.IntegrationPoints
6+
{
7+
//[IntegrationPointConfiguration("FooMailClient")]
8+
public class FooMailClient : MailClient
9+
{
10+
public FooMailClient(IMailConfiguration mailConfiguration)
11+
{
12+
MailConfiguration = mailConfiguration;
13+
}
14+
}
15+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System;
2+
using IntegrationEngine.Core.Mail;
3+
using IntegrationEngine.Core.Configuration;
4+
5+
namespace IntegrationEngine.ConsoleHost.IntegrationPoints
6+
{
7+
//[IntegrationPointConfiguration("FooMailClient")]
8+
public interface IFooMailClient : IMailClient
9+
{
10+
}
11+
}

IntegrationEngine.ConsoleHost/Program.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ public class Program
1111
public static EngineHost EngineHosts { get; set; }
1212
public static void Main(string[] args)
1313
{
14-
if (!Environment.UserInteractive)
14+
var isRunningUnderMono = Type.GetType("Mono.Runtime") != null;
15+
if (!Environment.UserInteractive && !isRunningUnderMono)
1516
{
1617
// Set current working directory as services use the system directory by default.
1718
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);

0 commit comments

Comments
 (0)