Skip to content

Commit 0cda73b

Browse files
committed
Adding code to add all plannings as compliance entries.
Fixing the lookup of any compliance case.
1 parent 3c0b1c8 commit 0cda73b

File tree

2 files changed

+75
-104
lines changed

2 files changed

+75
-104
lines changed

ServiceBackendConfigurationPlugin/Handlers/EformParsedByServerHandler.cs

Lines changed: 38 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,11 @@ await itemsPlanningPnDbContext.PlanningCaseSites
103103
planningSite.Status = 70;
104104
await planningSite.Update(backendConfigurationPnDbContext);
105105

106-
if (!areaRulePlanning.ComplianceEnabled)
107-
{
108-
Console.WriteLine($"Compliance not enabled for areaRulePlanning.Id : {areaRulePlanning.Id}");
109-
return;
110-
}
106+
// if (!areaRulePlanning.ComplianceEnabled)
107+
// {
108+
// Console.WriteLine($"Compliance not enabled for areaRulePlanning.Id : {areaRulePlanning.Id}");
109+
// return;
110+
// }
111111

112112
if (planning.RepeatEvery == 0 && planning.RepeatType == RepeatType.Day) { }
113113
else
@@ -155,15 +155,14 @@ await itemsPlanningPnDbContext.PlanningCaseSites
155155
}
156156

157157
if (!backendConfigurationPnDbContext.Compliances.AsNoTracking().Any(x =>
158-
x.Deadline == (DateTime)planning.NextExecutionTime &&
158+
x.PlanningCaseSiteId == planningCaseSite.PlanningCaseId &&
159159
x.PlanningId == planningCaseSite.PlanningId
160160
// &&
161161
// x.PlanningCaseSiteId == planningCaseSite.Id &&
162162
// x.WorkflowState != Constants.WorkflowStates.Removed
163163
)
164164
)
165165
{
166-
167166
Console.WriteLine($"We did not find a compliance for {planningCaseSite.PlanningId}, so we create one");
168167
var deadLine = (DateTime)planning.NextExecutionTime!;
169168
try
@@ -176,8 +175,8 @@ await itemsPlanningPnDbContext.PlanningCaseSites
176175
Deadline = new DateTime(deadLine.Year, deadLine.Month, deadLine.Day, 0, 0, 0),
177176
StartDate = (DateTime)planning.LastExecutedTime!,
178177
MicrotingSdkeFormId = planning.RelatedEFormId,
179-
// PlanningCaseSiteId = planningCaseSite.Id,
180-
MicrotingSdkCaseId = (int) message.CaseId!
178+
MicrotingSdkCaseId = (int) message.CaseId!,
179+
PlanningCaseSiteId = planningCaseSite.PlanningCaseId
181180
};
182181

183182
await compliance.Create(backendConfigurationPnDbContext);
@@ -207,38 +206,38 @@ await itemsPlanningPnDbContext.PlanningCaseSites
207206
// x.PlanningCaseSiteId == planningCaseSite.Id &&
208207
// x.WorkflowState != Constants.WorkflowStates.Removed
209208
);
210-
complianceEntry.StartDate = (DateTime)planning.LastExecutedTime!;
211-
complianceEntry.MicrotingSdkCaseId = (int)message.CaseId!;
212-
complianceEntry.WorkflowState = Constants.WorkflowStates.Created;
213-
await complianceEntry.Update(backendConfigurationPnDbContext);
214-
}
215-
216-
var today = new DateTime(DateTime.Now.AddDays(1).Year, DateTime.Now.AddDays(1).Month, DateTime.Now.AddDays(1).Day, 0, 0, 0);
217-
218-
if (backendConfigurationPnDbContext.Compliances.AsNoTracking().Any(x => x.Deadline < today && x.PropertyId == property.Id && x.WorkflowState != Constants.WorkflowStates.Removed))
219-
{
220-
property.ComplianceStatus = 2;
221-
property.ComplianceStatusThirty = 2;
222-
await property.Update(backendConfigurationPnDbContext);
209+
// complianceEntry.StartDate = (DateTime)planning.LastExecutedTime!;
210+
// complianceEntry.MicrotingSdkCaseId = (int)message.CaseId!;
211+
// complianceEntry.WorkflowState = Constants.WorkflowStates.Created;
212+
// await complianceEntry.Update(backendConfigurationPnDbContext);
223213
}
224-
else
225-
{
226-
if (!backendConfigurationPnDbContext.Compliances.AsNoTracking().Any(x =>
227-
x.Deadline < DateTime.UtcNow.AddDays(30) && x.PropertyId == property.Id &&
228-
x.WorkflowState != Constants.WorkflowStates.Removed))
229-
{
230-
property.ComplianceStatusThirty = 0;
231-
await property.Update(backendConfigurationPnDbContext);
232-
}
233214

234-
if (!backendConfigurationPnDbContext.Compliances.AsNoTracking().Any(x =>
235-
x.Deadline < DateTime.UtcNow && x.PropertyId == property.Id &&
236-
x.WorkflowState != Constants.WorkflowStates.Removed))
237-
{
238-
property.ComplianceStatus = 0;
239-
await property.Update(backendConfigurationPnDbContext);
240-
}
241-
}
215+
// var today = new DateTime(DateTime.Now.AddDays(1).Year, DateTime.Now.AddDays(1).Month, DateTime.Now.AddDays(1).Day, 0, 0, 0);
216+
//
217+
// if (backendConfigurationPnDbContext.Compliances.AsNoTracking().Any(x => x.Deadline < today && x.PropertyId == property.Id && x.WorkflowState != Constants.WorkflowStates.Removed))
218+
// {
219+
// property.ComplianceStatus = 2;
220+
// property.ComplianceStatusThirty = 2;
221+
// await property.Update(backendConfigurationPnDbContext);
222+
// }
223+
// else
224+
// {
225+
// if (!backendConfigurationPnDbContext.Compliances.AsNoTracking().Any(x =>
226+
// x.Deadline < DateTime.UtcNow.AddDays(30) && x.PropertyId == property.Id &&
227+
// x.WorkflowState != Constants.WorkflowStates.Removed))
228+
// {
229+
// property.ComplianceStatusThirty = 0;
230+
// await property.Update(backendConfigurationPnDbContext);
231+
// }
232+
//
233+
// if (!backendConfigurationPnDbContext.Compliances.AsNoTracking().Any(x =>
234+
// x.Deadline < DateTime.UtcNow && x.PropertyId == property.Id &&
235+
// x.WorkflowState != Constants.WorkflowStates.Removed))
236+
// {
237+
// property.ComplianceStatus = 0;
238+
// await property.Update(backendConfigurationPnDbContext);
239+
// }
240+
// }
242241
}
243242
}
244243
}

ServiceBackendConfigurationPlugin/Handlers/eFormCompletedHandler.cs

Lines changed: 37 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -289,88 +289,60 @@ await bus.SendLocal(new ChemicalCaseCompleted(message.CaseId, message.MicrotingU
289289
Console.WriteLine($"Deadline: {deadline}");
290290
// backendConfigurationPnDbContext.Database.Log = Console.Write;
291291

292-
var complianceList = await backendConfigurationPnDbContext.Compliances
292+
var oneCompliance =
293+
await backendConfigurationPnDbContext.Compliances.FirstOrDefaultAsync(x =>
294+
x.PlanningCaseSiteId == planningCaseSite.PlanningCaseId);
295+
296+
if (oneCompliance == null)
297+
{
298+
var complianceList = await backendConfigurationPnDbContext.Compliances
293299
.Where(x => x.Deadline == new DateTime(deadline.Year, deadline.Month, deadline.Day, 0, 0, 0))
294300
.AsNoTracking()
295301
.Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
296302
.Where(x => x.PlanningId == planningCaseSite.PlanningId).ToListAsync();
297303

298-
Console.WriteLine($"complianceList.Count: {complianceList.Count}");
299-
300-
foreach (var compliance in complianceList)
301-
{
302-
303-
if (compliance != null)
304-
{
305-
var dbCompliance =
306-
await backendConfigurationPnDbContext.Compliances.FirstAsync(
307-
x => x.Id == compliance.Id);
308-
await dbCompliance.Delete(backendConfigurationPnDbContext);
309-
Console.WriteLine($"Deleted compliance {compliance.Id}");
310-
}
311-
312-
var areaRulePlanning = await backendConfigurationPnDbContext.AreaRulePlannings.AsNoTracking()
313-
.Where(x => x.ItemPlanningId == planningCaseSite.PlanningId).FirstOrDefaultAsync();
314-
315-
var property =
316-
await backendConfigurationPnDbContext.Properties.FirstOrDefaultAsync(x =>
317-
x.Id == areaRulePlanning.PropertyId);
304+
Console.WriteLine($"complianceList.Count: {complianceList.Count}");
318305

319-
if (property == null)
306+
foreach (var compliance in complianceList)
320307
{
321-
return;
322-
}
323-
324-
var planningSite = await backendConfigurationPnDbContext.PlanningSites
325-
.Where(x =>
326-
x.WorkflowState != ChemicalsBase.Infrastructure.Constants.Constants.WorkflowStates.Removed)
327-
.FirstAsync(x =>
328-
x.SiteId == planningCaseSite.MicrotingSdkSiteId && x.AreaRulePlanningsId == areaRulePlanning.Id);
329308

330-
planningSite.Status = 100;
331-
Console.WriteLine($"Updated planningSite {planningSite.Id} to completed");
332-
await planningSite.Update(backendConfigurationPnDbContext);
333-
334-
335-
if (backendConfigurationPnDbContext.Compliances.AsNoTracking().Any(x =>
336-
x.Deadline < DateTime.UtcNow && x.PropertyId == property.Id &&
337-
x.WorkflowState != Constants.WorkflowStates.Removed))
338-
{
339-
property.ComplianceStatus = 2;
340-
Console.WriteLine($"Updated property {property.Id} to complianceStatus 2");
341-
property.ComplianceStatusThirty = 2;
342-
await property.Update(backendConfigurationPnDbContext);
343-
}
344-
else
345-
{
346-
if (!backendConfigurationPnDbContext.Compliances.AsNoTracking().Any(x =>
347-
x.Deadline < DateTime.UtcNow.AddDays(30) && x.PropertyId == property.Id &&
348-
x.WorkflowState != Constants.WorkflowStates.Removed))
309+
if (compliance != null)
349310
{
350-
property.ComplianceStatusThirty = 0;
351-
await property.Update(backendConfigurationPnDbContext);
352-
}
353-
354-
if (!backendConfigurationPnDbContext.Compliances.AsNoTracking().Any(x =>
355-
x.Deadline < DateTime.UtcNow && x.PropertyId == property.Id &&
356-
x.WorkflowState != Constants.WorkflowStates.Removed))
357-
{
358-
property.ComplianceStatus = 0;
359-
Console.WriteLine($"Updated property {property.Id} to complianceStatus 0");
360-
await property.Update(backendConfigurationPnDbContext);
311+
var dbCompliance =
312+
await backendConfigurationPnDbContext.Compliances.FirstAsync(
313+
x => x.Id == compliance.Id);
314+
await dbCompliance.Delete(backendConfigurationPnDbContext);
315+
Console.WriteLine($"Deleted compliance {compliance.Id}");
361316
}
362317
}
363318
}
319+
else
320+
{
321+
await oneCompliance.Delete(backendConfigurationPnDbContext);
322+
Console.WriteLine($"Deleted compliance {oneCompliance.Id}");
323+
}
324+
325+
var areaRulePlanning = await backendConfigurationPnDbContext.AreaRulePlannings.AsNoTracking()
326+
.Where(x => x.ItemPlanningId == planningCaseSite.PlanningId).FirstOrDefaultAsync();
364327

365-
if (eformIdForControlFloatingLayer == dbCase.CheckListId)
328+
var property =
329+
await backendConfigurationPnDbContext.Properties.FirstOrDefaultAsync(x =>
330+
x.Id == areaRulePlanning.PropertyId);
331+
332+
if (property == null)
366333
{
367-
// FloatingLayerCaseCompletedHandler will handle this case
368-
// await bus.SendLocal(new FloatingLayerCaseCompleted(message.CaseId, message.MicrotingUId,
369-
// message.CheckId, message.SiteUId));
334+
return;
370335
}
371336

337+
var planningSite = await backendConfigurationPnDbContext.PlanningSites
338+
.Where(x =>
339+
x.WorkflowState != ChemicalsBase.Infrastructure.Constants.Constants.WorkflowStates.Removed)
340+
.FirstAsync(x =>
341+
x.SiteId == planningCaseSite.MicrotingSdkSiteId && x.AreaRulePlanningsId == areaRulePlanning.Id);
372342

373-
// }
343+
planningSite.Status = 100;
344+
Console.WriteLine($"Updated planningSite {planningSite.Id} to completed");
345+
await planningSite.Update(backendConfigurationPnDbContext);
374346
}
375347
}
376348
}

0 commit comments

Comments
 (0)