From c1097a3e61e3186ce0016e04e9ba012712eae515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Zieli=C5=84ski?= Date: Wed, 8 Nov 2023 17:49:13 +0100 Subject: [PATCH] Calculate all values (1..32) in aggregated processed layers --- WebAPI/dataProcessors/ProcessHelper.cs | 185 ++++++++++++++++++ .../t3.MultiSourceSummary.processor.cs | 11 +- .../t3.MultiSourceYearSummary.processor.cs | 11 +- .../t3.SingleSource.processor.cs | 118 +---------- .../t3.SourceYearSummary.processor.cs | 11 +- 5 files changed, 218 insertions(+), 118 deletions(-) create mode 100644 WebAPI/dataProcessors/ProcessHelper.cs diff --git a/WebAPI/dataProcessors/ProcessHelper.cs b/WebAPI/dataProcessors/ProcessHelper.cs new file mode 100644 index 0000000..d88fc0b --- /dev/null +++ b/WebAPI/dataProcessors/ProcessHelper.cs @@ -0,0 +1,185 @@ +using System; +using WebAPI.Models; + +namespace DiunaBIWebAPI.dataProcessors +{ + public static class ProcessHelper + { + public static void setValue(Record record, int number, float? value) + { + switch (number) + { + case 1: + record.Value1 = value; + break; + case 2: + record.Value2 = value; + break; + case 3: + record.Value3 = value; + break; + case 4: + record.Value4 = value; + break; + case 5: + record.Value5 = value; + break; + case 6: + record.Value6 = value; + break; + case 7: + record.Value7 = value; + break; + case 8: + record.Value8 = value; + break; + case 9: + record.Value9 = value; + break; + case 10: + record.Value10 = value; + break; + case 11: + record.Value11 = value; + break; + case 12: + record.Value12 = value; + break; + case 13: + record.Value13 = value; + break; + case 14: + record.Value14 = value; + break; + case 15: + record.Value15 = value; + break; + case 16: + record.Value16 = value; + break; + case 17: + record.Value17 = value; + break; + case 18: + record.Value18 = value; + break; + case 19: + record.Value19 = value; + break; + case 20: + record.Value20 = value; + break; + case 21: + record.Value21 = value; + break; + case 22: + record.Value22 = value; + break; + case 23: + record.Value23 = value; + break; + case 24: + record.Value24 = value; + break; + case 25: + record.Value25 = value; + break; + case 26: + record.Value26 = value; + break; + case 27: + record.Value27 = value; + break; + case 28: + record.Value28 = value; + break; + case 29: + record.Value29 = value; + break; + case 30: + record.Value30 = value; + break; + case 31: + record.Value31 = value; + break; + case 32: + record.Value32 = value; + break; + } + } + + public static float? getValue(Record record, int number) + { + switch (number) + { + case 1: + return record.Value1; + case 2: + return record.Value2; + case 3: + return record.Value3; + case 4: + return record.Value4; + case 5: + return record.Value5; + case 6: + return record.Value6; + case 7: + return record.Value7; + case 8: + return record.Value8; + case 9: + return record.Value9; + case 10: + return record.Value10; + case 11: + return record.Value11; + case 12: + return record.Value12; + case 13: + return record.Value13; + case 14: + return record.Value14; + case 15: + return record.Value15; + case 16: + return record.Value16; + case 17: + return record.Value17; + case 18: + return record.Value18; + case 19: + return record.Value19; + case 20: + return record.Value20; + case 21: + return record.Value21; + case 22: + return record.Value22; + case 23: + return record.Value23; + case 24: + return record.Value24; + case 25: + return record.Value25; + case 26: + return record.Value26; + case 27: + return record.Value27; + case 28: + return record.Value28; + case 29: + return record.Value29; + case 30: + return record.Value30; + case 31: + return record.Value31; + case 32: + return record.Value32; + default: + return null; + } + } + } +} + diff --git a/WebAPI/dataProcessors/t3.MultiSourceSummary.processor.cs b/WebAPI/dataProcessors/t3.MultiSourceSummary.processor.cs index 845d233..edfa828 100644 --- a/WebAPI/dataProcessors/t3.MultiSourceSummary.processor.cs +++ b/WebAPI/dataProcessors/t3.MultiSourceSummary.processor.cs @@ -1,4 +1,5 @@ -using Google.Apis.Sheets.v4; +using DiunaBIWebAPI.dataProcessors; +using Google.Apis.Sheets.v4; using Microsoft.EntityFrameworkCore; using WebAPI.Controllers; using WebAPI.Models; @@ -95,9 +96,13 @@ namespace WebAPI.dataProcessors Id = Guid.NewGuid(), Code = $"9{baseRecord.Code!.Substring(1)}", CreatedAt = DateTime.UtcNow, - ModifiedAt = DateTime.UtcNow, - Value1 = codeRecords.Sum(x => x.Value32) + ModifiedAt = DateTime.UtcNow }; + for (var i = 1; i<33; i++) + { + ProcessHelper.setValue(processedRecord, i, + codeRecords.Sum(x => ProcessHelper.getValue(x, i))); + } newRecords.Add(processedRecord); } diff --git a/WebAPI/dataProcessors/t3.MultiSourceYearSummary.processor.cs b/WebAPI/dataProcessors/t3.MultiSourceYearSummary.processor.cs index 03e0ae9..927cfa2 100644 --- a/WebAPI/dataProcessors/t3.MultiSourceYearSummary.processor.cs +++ b/WebAPI/dataProcessors/t3.MultiSourceYearSummary.processor.cs @@ -1,4 +1,5 @@ -using Google.Apis.Sheets.v4; +using DiunaBIWebAPI.dataProcessors; +using Google.Apis.Sheets.v4; using Microsoft.EntityFrameworkCore; using WebAPI.Controllers; using WebAPI.Models; @@ -94,9 +95,13 @@ namespace WebAPI.dataProcessors Id = Guid.NewGuid(), Code = $"1{baseRecord.Code}", CreatedAt = DateTime.UtcNow, - ModifiedAt = DateTime.UtcNow, - Value1 = codeRecords.Sum(x => x.Value1) + ModifiedAt = DateTime.UtcNow }; + for (var i = 1; i < 33; i++) + { + ProcessHelper.setValue(processedRecord, i, + codeRecords.Sum(x => ProcessHelper.getValue(x, i))); + } newRecords.Add(processedRecord); } diff --git a/WebAPI/dataProcessors/t3.SingleSource.processor.cs b/WebAPI/dataProcessors/t3.SingleSource.processor.cs index 607b1cc..0e1cf37 100644 --- a/WebAPI/dataProcessors/t3.SingleSource.processor.cs +++ b/WebAPI/dataProcessors/t3.SingleSource.processor.cs @@ -1,4 +1,5 @@ -using Google.Apis.Sheets.v4; +using DiunaBIWebAPI.dataProcessors; +using Google.Apis.Sheets.v4; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using System; @@ -102,7 +103,7 @@ namespace WebAPI.dataProcessors .Where(x => x.CreatedAt.Date <= new DateTime(year, month, 1)) .OrderByDescending(x => x.CreatedAt) .FirstOrDefault()?.Value1 ?? 0; - setValue(processedRecord, 1, firstVal); + ProcessHelper.setValue(processedRecord, 1, firstVal); previousValue = firstVal; //days 2-29/30 for (int i=2; i x.CreatedAt) .FirstOrDefault()?.Value1; - setValue(processedRecord, 32, valueToCopy); + ProcessHelper.setValue(processedRecord, 32, valueToCopy); newRecords.Add(processedRecord); } @@ -156,107 +157,6 @@ namespace WebAPI.dataProcessors db.SaveChanges(); } - private void setValue(Record record, int number, float? value) - { - switch (number) - { - case 1: - record.Value1 = value; - break; - case 2: - record.Value2 = value; - break; - case 3: - record.Value3 = value; - break; - case 4: - record.Value4 = value; - break; - case 5: - record.Value5 = value; - break; - case 6: - record.Value6 = value; - break; - case 7: - record.Value7 = value; - break; - case 8: - record.Value8 = value; - break; - case 9: - record.Value9 = value; - break; - case 10: - record.Value10 = value; - break; - case 11: - record.Value11 = value; - break; - case 12: - record.Value12 = value; - break; - case 13: - record.Value13 = value; - break; - case 14: - record.Value14 = value; - break; - case 15: - record.Value15 = value; - break; - case 16: - record.Value16 = value; - break; - case 17: - record.Value17 = value; - break; - case 18: - record.Value18 = value; - break; - case 19: - record.Value19 = value; - break; - case 20: - record.Value20 = value; - break; - case 21: - record.Value21 = value; - break; - case 22: - record.Value22 = value; - break; - case 23: - record.Value23 = value; - break; - case 24: - record.Value24 = value; - break; - case 25: - record.Value25 = value; - break; - case 26: - record.Value26 = value; - break; - case 27: - record.Value27 = value; - break; - case 28: - record.Value28 = value; - break; - case 29: - record.Value29 = value; - break; - case 30: - record.Value30 = value; - break; - case 31: - record.Value31 = value; - break; - case 32: - record.Value32 = value; - break; - } - } + } } diff --git a/WebAPI/dataProcessors/t3.SourceYearSummary.processor.cs b/WebAPI/dataProcessors/t3.SourceYearSummary.processor.cs index f3bd72d..bb86802 100644 --- a/WebAPI/dataProcessors/t3.SourceYearSummary.processor.cs +++ b/WebAPI/dataProcessors/t3.SourceYearSummary.processor.cs @@ -1,4 +1,5 @@ -using Google.Apis.Sheets.v4; +using DiunaBIWebAPI.dataProcessors; +using Google.Apis.Sheets.v4; using Microsoft.EntityFrameworkCore; using WebAPI.Controllers; using WebAPI.Models; @@ -90,9 +91,13 @@ namespace WebAPI.dataProcessors Id = Guid.NewGuid(), Code = baseRecord.Code, CreatedAt = DateTime.UtcNow, - ModifiedAt = DateTime.UtcNow, - Value1 = codeRecords.Sum(x => x.Value32) + ModifiedAt = DateTime.UtcNow }; + for (var i = 1; i < 33; i++) + { + ProcessHelper.setValue(processedRecord, i, + codeRecords.Sum(x => ProcessHelper.getValue(x, i))); + } newRecords.Add(processedRecord); }