Skip to content

Commit 8749fe7

Browse files
Merge pull request #85 from TransactionProcessing/task/adddeveloperlogging
structure refactor and added some extra trace in
2 parents f964968 + d04e0cc commit 8749fe7

6 files changed

Lines changed: 84 additions & 68 deletions

File tree

TransactionProcessing.SchedulerService/TransactionProcessing.SchedulerService.Jobs/BaseJob.cs

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,27 @@
55
using System.Threading.Tasks;
66
using DataGeneration;
77
using EstateManagement.Client;
8+
using Quartz;
89
using SecurityService.Client;
910
using SecurityService.DataTransferObjects.Responses;
1011
using Shared.Logger;
1112
using TransactionProcessor.Client;
1213

13-
public abstract class BaseJob{
14-
public String JobName { get; set; }
14+
public abstract class BaseJob : IJob{
15+
public String JobName { get; private set; }
16+
17+
public String JobGroup{ get; private set; }
18+
19+
public String ClientSecret{ get; private set; }
20+
21+
public String ClientId{ get; private set; }
22+
23+
public String SecurityService { get; private set; }
24+
25+
public String EstateManagementApi { get; private set; }
26+
public String FileProcessorApi { get; private set; }
27+
public String TransactionProcessorApi { get; private set; }
28+
public String TestHostApi { get; private set; }
1529

1630
protected ITransactionDataGenerator CreateTransactionDataGenerator(String clientId, String clientSecret, RunningMode runningMode){
1731
ISecurityServiceClient securityServiceClient = Bootstrapper.GetService<ISecurityServiceClient>();
@@ -51,4 +65,55 @@ protected void TraceGenerated(TraceEventArgs traceArguments)
5165
Logger.LogInformation(traceArguments.Message);
5266
}
5367
}
68+
69+
public abstract Task ExecuteJob(IJobExecutionContext context);
70+
71+
public async Task Execute(IJobExecutionContext context){
72+
73+
this.CacheConfiguration(context);
74+
Logger.LogInformation($"Running Job Group: [{this.JobGroup}] Name: [{this.JobName}]");
75+
this.LogConfiguration();
76+
77+
Bootstrapper.ConfigureServices(context);
78+
79+
await this.ExecuteJob(context);
80+
81+
Logger.LogInformation($"Job Group: [{this.JobGroup}] Name: [{this.JobName}] completed");
82+
}
83+
84+
private void LogConfiguration(){
85+
Logger.LogInformation($"Client Id: [{this.ClientId}]");
86+
Logger.LogInformation($"EstateManagementApi is: [{this.EstateManagementApi}]");
87+
Logger.LogInformation($"FileProcessorApi is: [{this.FileProcessorApi}]");
88+
Logger.LogInformation($"SecurityService is: [{this.SecurityService}]");
89+
Logger.LogInformation($"TestHostApi is: [{this.TestHostApi}]");
90+
Logger.LogInformation($"TransactionProcessorApi is: [{this.TransactionProcessorApi}]");
91+
}
92+
93+
private void CacheConfiguration(IJobExecutionContext context){
94+
this.JobName = context.JobDetail.Key.Name;
95+
this.JobGroup = context.JobDetail.Key.Group;
96+
this.ClientId = context.MergedJobDataMap.GetString("ClientId");
97+
this.ClientSecret = context.MergedJobDataMap.GetString("ClientSecret");
98+
99+
if (context.MergedJobDataMap.ContainsKey("EstateManagementApi")){
100+
this.EstateManagementApi = context.MergedJobDataMap.GetString("EstateManagementApi");
101+
}
102+
103+
if (context.MergedJobDataMap.ContainsKey("FileProcessorApi")){
104+
this.FileProcessorApi = context.MergedJobDataMap.GetString("FileProcessorApi");
105+
}
106+
107+
if (context.MergedJobDataMap.ContainsKey("SecurityService")){
108+
this.SecurityService = context.MergedJobDataMap.GetString("SecurityService");
109+
}
110+
111+
if (context.MergedJobDataMap.ContainsKey("TestHostApi")){
112+
this.TestHostApi = context.MergedJobDataMap.GetString("TestHostApi");
113+
}
114+
115+
if (context.MergedJobDataMap.ContainsKey("TransactionProcessorApi")){
116+
this.TransactionProcessorApi = context.MergedJobDataMap.GetString("TransactionProcessorApi");
117+
}
118+
}
54119
}

TransactionProcessing.SchedulerService/TransactionProcessing.SchedulerService.Jobs/GenerateFileUploadsJob.cs

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,26 @@
11
namespace TransactionProcessing.SchedulerService.Jobs
22
{
33
using System;
4-
using System.Collections.Generic;
54
using System.Threading.Tasks;
65
using DataGeneration;
7-
using EstateManagement.DataTransferObjects.Responses;
86
using Quartz;
97
using Shared.Logger;
108

119
[DisallowConcurrentExecution]
12-
public class GenerateFileUploadsJob : BaseJob, IJob
10+
public class GenerateFileUploadsJob : BaseJob
1311
{
1412
#region Methods
15-
public async Task Execute(IJobExecutionContext context)
13+
public override async Task ExecuteJob(IJobExecutionContext context)
1614
{
17-
Bootstrapper.ConfigureServices(context);
18-
19-
String clientId = context.MergedJobDataMap.GetString("ClientId");
20-
String clientSecret = context.MergedJobDataMap.GetString("ClientSecret");
2115
Guid estateId = context.MergedJobDataMap.GetGuidValueFromString("EstateId");
2216
Guid merchantId = context.MergedJobDataMap.GetGuidValueFromString("MerchantId");
2317
Guid userId = context.MergedJobDataMap.GetGuidValueFromString("UserId");
24-
25-
Logger.LogInformation($"Running Job {context.JobDetail.Description}");
26-
Logger.LogInformation($"Client Id: [{clientId}]");
18+
2719
Logger.LogInformation($"Estate Id: [{estateId}]");
2820
Logger.LogInformation($"Merchant Id: [{merchantId}]");
21+
Logger.LogInformation($"User Id: [{userId}]");
2922

30-
ITransactionDataGenerator t = CreateTransactionDataGenerator(clientId, clientSecret, RunningMode.Live);
23+
ITransactionDataGenerator t = CreateTransactionDataGenerator(this.ClientId, this.ClientSecret, RunningMode.Live);
3124
t.TraceGenerated += TraceGenerated;
3225
await Jobs.GenerateFileUploads(t, estateId, merchantId, userId, context.CancellationToken);
3326
}

TransactionProcessing.SchedulerService/TransactionProcessing.SchedulerService.Jobs/GenerateMerchantStatementJob.cs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,15 @@
66
using Quartz;
77
using Shared.Logger;
88

9-
public class GenerateMerchantStatementJob : BaseJob, IJob
9+
public class GenerateMerchantStatementJob : BaseJob
1010
{
11-
public async Task Execute(IJobExecutionContext context)
11+
public override async Task ExecuteJob(IJobExecutionContext context)
1212
{
13-
Bootstrapper.ConfigureServices(context);
14-
String clientId = context.MergedJobDataMap.GetString("ClientId");
15-
String clientSecret = context.MergedJobDataMap.GetString("ClientSecret");
1613
Guid estateId = context.MergedJobDataMap.GetGuidValueFromString("EstateId");
1714

18-
Logger.LogInformation($"Running Job {context.JobDetail.Description}");
19-
Logger.LogInformation($"Client Id: [{clientId}]");
2015
Logger.LogInformation($"Estate Id: [{estateId}]");
2116

22-
ITransactionDataGenerator t = this.CreateTransactionDataGenerator(clientId, clientSecret, RunningMode.Live);
17+
ITransactionDataGenerator t = this.CreateTransactionDataGenerator(this.ClientId, this.ClientSecret, RunningMode.Live);
2318
t.TraceGenerated += TraceGenerated;
2419
await Jobs.GenerateMerchantStatements(t, estateId, context.CancellationToken);
2520
}

TransactionProcessing.SchedulerService/TransactionProcessing.SchedulerService.Jobs/GenerateTransactionsJob.cs

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,30 @@
11
namespace TransactionProcessing.SchedulerService.Jobs
22
{
33
using System;
4-
using System.Collections.Generic;
5-
using System.Linq;
6-
using System.Net.Http;
7-
using System.Text;
8-
using System.Threading;
94
using System.Threading.Tasks;
105
using DataGeneration;
11-
using EstateManagement.Client;
12-
using EstateManagement.DataTransferObjects.Requests;
13-
using EstateManagement.DataTransferObjects.Responses;
14-
using Newtonsoft.Json;
156
using Quartz;
16-
using SecurityService.Client;
17-
using SecurityService.DataTransferObjects.Responses;
187
using Shared.Logger;
19-
using TransactionProcessor.Client;
20-
using TransactionProcessor.DataTransferObjects;
218

229
/// <summary>
2310
///
2411
/// </summary>
2512
/// <seealso cref="Quartz.IJob" />
26-
public class GenerateTransactionsJob : BaseJob, IJob{
13+
public class GenerateTransactionsJob : BaseJob{
2714

2815
#region Methods
2916

30-
public async Task Execute(IJobExecutionContext context){
31-
this.JobName = context.JobDetail.Description;
32-
Bootstrapper.ConfigureServices(context);
17+
public override async Task ExecuteJob(IJobExecutionContext context){
3318

34-
String clientId = context.MergedJobDataMap.GetString("ClientId");
35-
String clientSecret = context.MergedJobDataMap.GetString("ClientSecret");
3619
Guid estateId = context.MergedJobDataMap.GetGuidValueFromString("EstateId");
3720
Guid merchantId = context.MergedJobDataMap.GetGuidValueFromString("MerchantId");
3821
Boolean requireLogon = context.MergedJobDataMap.GetBooleanValueFromString("requireLogon");
3922

40-
Logger.LogInformation($"Running Job {context.JobDetail.Description}");
41-
Logger.LogInformation($"Client Id: [{clientId}]");
4223
Logger.LogInformation($"Estate Id: [{estateId}]");
4324
Logger.LogInformation($"Merchant Id: [{merchantId}]");
4425
Logger.LogInformation($"Require Logon: [{requireLogon}]");
4526

46-
ITransactionDataGenerator t = CreateTransactionDataGenerator(clientId, clientSecret, RunningMode.Live);
27+
ITransactionDataGenerator t = CreateTransactionDataGenerator(this.ClientId, this.ClientSecret, RunningMode.Live);
4728
t.TraceGenerated += TraceGenerated;
4829
await Jobs.GenerateTransactions(t, estateId, merchantId, requireLogon, context.CancellationToken);
4930
}

TransactionProcessing.SchedulerService/TransactionProcessing.SchedulerService.Jobs/ProcessSettlementJob.cs

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,21 @@
11
using System;
2-
using System.Linq;
3-
using System.Text;
42
using System.Threading.Tasks;
53

64
namespace TransactionProcessing.SchedulerService.Jobs
75
{
8-
using System.Threading;
9-
using EstateManagement.Client;
106
using Quartz;
11-
using SecurityService.Client;
12-
using SecurityService.DataTransferObjects.Responses;
137
using Shared.Logger;
148
using TransactionProcessing.DataGeneration;
15-
using TransactionProcessor.Client;
169

17-
public class ProcessSettlementJob : BaseJob, IJob
10+
public class ProcessSettlementJob : BaseJob
1811
{
19-
public async Task Execute(IJobExecutionContext context)
12+
public override async Task ExecuteJob(IJobExecutionContext context)
2013
{
21-
Bootstrapper.ConfigureServices(context);
22-
String clientId = context.MergedJobDataMap.GetString("ClientId");
23-
String clientSecret = context.MergedJobDataMap.GetString("ClientSecret");
2414
Guid estateId = context.MergedJobDataMap.GetGuidValueFromString("EstateId");
2515

26-
Logger.LogInformation($"Running Job {context.JobDetail.Description}");
27-
Logger.LogInformation($"Client Id: [{clientId}]");
2816
Logger.LogInformation($"Estate Id: [{estateId}]");
2917

30-
ITransactionDataGenerator t = CreateTransactionDataGenerator(clientId, clientSecret, RunningMode.Live);
18+
ITransactionDataGenerator t = CreateTransactionDataGenerator(this.ClientId, this.ClientSecret, RunningMode.Live);
3119
t.TraceGenerated += TraceGenerated;
3220
await Jobs.PerformSettlement(t, DateTime.Now, estateId, context.CancellationToken);
3321
}

TransactionProcessing.SchedulerService/TransactionProcessing.SchedulerService.Jobs/SupportReportEmailJob.cs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,18 @@
77
using Quartz;
88
using Shared.Logger;
99

10-
public class SupportReportEmailJob : BaseJob, IJob
10+
public class SupportReportEmailJob : BaseJob
1111
{
1212
#region Methods
13-
public async Task Execute(IJobExecutionContext context)
13+
public override async Task ExecuteJob(IJobExecutionContext context)
1414
{
15-
Bootstrapper.ConfigureServices(context);
16-
17-
String clientId = context.MergedJobDataMap.GetString("ClientId");
18-
String clientSecret = context.MergedJobDataMap.GetString("ClientSecret");
1915
String eventStoreConnectionString = context.MergedJobDataMap.GetString("EventStoreConnectionString");
2016
String databaseConnectionString = context.MergedJobDataMap.GetString("DatabaseConnectionString");
2117
String estateIds = context.MergedJobDataMap.GetString("EstateIds");
2218

23-
Logger.LogInformation($"Running Job {context.JobDetail.Description}");
24-
Logger.LogInformation($"Client Id: [{clientId}]");
2519
Logger.LogInformation($"Estate Id: [{estateIds}]");
2620

27-
String token = await this.GetToken(clientId, clientSecret, context.CancellationToken);
21+
String token = await this.GetToken(this.ClientId, this.ClientSecret, context.CancellationToken);
2822

2923
IMessagingServiceClient messagingServiceClient = Bootstrapper.GetService<IMessagingServiceClient>();
3024

0 commit comments

Comments
 (0)