Deagregation processor fix
This commit is contained in:
@@ -405,6 +405,11 @@ namespace WebAPI.Controllers
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
List<Record> toDelete = db.Records.Where(x => x.LayerId == id).ToList();
|
||||||
|
if (toDelete.Count > 0)
|
||||||
|
{
|
||||||
|
db.Records.RemoveRange(toDelete);
|
||||||
|
}
|
||||||
foreach (Record record in records)
|
foreach (Record record in records)
|
||||||
{
|
{
|
||||||
record.CreatedById = currentUserId;
|
record.CreatedById = currentUserId;
|
||||||
|
|||||||
@@ -93,12 +93,12 @@ namespace WebAPI.dataProcessors
|
|||||||
processedLayer.ModifiedAt = DateTime.UtcNow;
|
processedLayer.ModifiedAt = DateTime.UtcNow;
|
||||||
db.Layers.Add(processedLayer);
|
db.Layers.Add(processedLayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
processedLayer.Records = new List<Record>();
|
|
||||||
processedLayer.Sources = new List<ProcessSource>();
|
processedLayer.Sources = new List<ProcessSource>();
|
||||||
processedLayer.ModifiedById = Guid.Parse("F392209E-123E-4651-A5A4-0B1D6CF9FF9D");
|
processedLayer.ModifiedById = Guid.Parse("F392209E-123E-4651-A5A4-0B1D6CF9FF9D");
|
||||||
processedLayer.ModifiedAt = DateTime.UtcNow;
|
processedLayer.ModifiedAt = DateTime.UtcNow;
|
||||||
|
|
||||||
|
List<Record> newRecords = new List<Record>();
|
||||||
|
|
||||||
List<Layer> dataSources = db.Layers
|
List<Layer> dataSources = db.Layers
|
||||||
.Include(x => x.Records)
|
.Include(x => x.Records)
|
||||||
.Where(x => x.ParentId == sourceImportWorker.Id
|
.Where(x => x.ParentId == sourceImportWorker.Id
|
||||||
@@ -119,7 +119,7 @@ namespace WebAPI.dataProcessors
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
List<Record> allRecords = dataSources.SelectMany(x => x.Records!).Where(x => x.Code == "500").ToList();
|
List<Record> allRecords = dataSources.SelectMany(x => x.Records!).ToList();
|
||||||
|
|
||||||
foreach (Record baseRecord in dataSources.First()?.Records!)
|
foreach (Record baseRecord in dataSources.First()?.Records!)
|
||||||
{
|
{
|
||||||
@@ -151,12 +151,13 @@ namespace WebAPI.dataProcessors
|
|||||||
.FirstOrDefault()?.Value1;
|
.FirstOrDefault()?.Value1;
|
||||||
if (dayVal == null)
|
if (dayVal == null)
|
||||||
{
|
{
|
||||||
|
//TODO: missing day value? Should I log it?
|
||||||
setValue(processedRecord, i, 0);
|
setValue(processedRecord, i, 0);
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
float processedVal = (dayVal ?? 0) - previousValue;
|
float processedVal = (dayVal ?? 0) - previousValue;
|
||||||
setValue(processedRecord, i, processedVal);
|
setValue(processedRecord, i, processedVal);
|
||||||
previousValue = processedVal;
|
previousValue = dayVal ?? 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//last day
|
//last day
|
||||||
@@ -173,14 +174,18 @@ namespace WebAPI.dataProcessors
|
|||||||
setValue(processedRecord, lastDayInMonth, (lastVal ?? 0) - previousValue);
|
setValue(processedRecord, lastDayInMonth, (lastVal ?? 0) - previousValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
processedLayer.Records.Add(processedRecord);
|
newRecords.Add(processedRecord);
|
||||||
}
|
}
|
||||||
controller.SaveRecords(processedLayer.Id, processedLayer.Records, Guid.Parse("F392209E-123E-4651-A5A4-0B1D6CF9FF9D"));
|
controller.SaveRecords(processedLayer.Id, newRecords, Guid.Parse("F392209E-123E-4651-A5A4-0B1D6CF9FF9D"));
|
||||||
db.Layers.Update(processedLayer);
|
db.Layers.Update(processedLayer);
|
||||||
db.SaveChanges();
|
db.SaveChanges();
|
||||||
}
|
}
|
||||||
private void setValue(Record record, int number, float? value)
|
private void setValue(Record record, int number, float? value)
|
||||||
{
|
{
|
||||||
|
if (record.Code == "500")
|
||||||
|
{
|
||||||
|
Console.WriteLine("SetValue " + number + " | " + value);
|
||||||
|
}
|
||||||
switch (number)
|
switch (number)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
|
|||||||
Reference in New Issue
Block a user