diff --git a/WebAPI/dataProcessors/t1.r1.processor.cs b/WebAPI/dataProcessors/t1.r1.processor.cs index 21eee97..73a940b 100644 --- a/WebAPI/dataProcessors/t1.r1.processor.cs +++ b/WebAPI/dataProcessors/t1.r1.processor.cs @@ -196,7 +196,7 @@ namespace WebAPI.dataProcessors } else { - values.Add(""); + values.Add("0"); } } ValueRange ValueRange = new ValueRange @@ -207,22 +207,34 @@ namespace WebAPI.dataProcessors update.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED; update.Execute(); } - + // sum List valuesSum = new List(); + List emptyRow = new List(); + string rowEmpty = (startRow + DateTime.UtcNow.Month + 1).ToString(); string rowSum = (startRow + DateTime.UtcNow.Month + 2).ToString(); foreach (string code in codesRow) { Record? record = R1!.Records?.SingleOrDefault(x => x.Code == $"{code}13"); + emptyRow.Add(""); if (record != null) { valuesSum.Add(record.Value1!.Value); } else { - valuesSum.Add(""); + valuesSum.Add("0"); } } + // insert empty row before sum + ValueRange valueRangeEmpty = new ValueRange + { + Values = new List> { emptyRow } + }; + SpreadsheetsResource.ValuesResource.UpdateRequest updateEmpty = googleSheetValues.Update(valueRangeEmpty, sheetId, $"{sheetName}!C{rowEmpty}:XZ{rowEmpty}"); + updateEmpty.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED; + updateEmpty.Execute(); + ValueRange ValueRangeSum = new ValueRange { Values = new List> { valuesSum } diff --git a/WebAPI/dataProcessors/t3.MultiSourceSummary.processor.cs b/WebAPI/dataProcessors/t3.MultiSourceSummary.processor.cs index bb346ad..26291f3 100644 --- a/WebAPI/dataProcessors/t3.MultiSourceSummary.processor.cs +++ b/WebAPI/dataProcessors/t3.MultiSourceSummary.processor.cs @@ -89,16 +89,18 @@ namespace WebAPI.dataProcessors } List allRecords = dataSources.SelectMany(x => x.Records!).ToList(); - foreach (Record baseRecord in dataSources.Last()?.Records!) + List baseCodess = allRecords.Select(x => x.Code!.Remove(0, 1)).Distinct().ToList(); + + foreach (string baseCode in baseCodess) { List codeRecords = allRecords.Where(x => - x.Code!.Substring(1) == baseRecord.Code!.Substring(1)) + x.Code!.Substring(1) == baseCode) .ToList(); Record processedRecord = new Record { Id = Guid.NewGuid(), - Code = $"9{baseRecord.Code!.Remove(0,1)}", + Code = $"9{baseCode}", CreatedAt = DateTime.UtcNow, ModifiedAt = DateTime.UtcNow }; diff --git a/WebAPI/dataProcessors/t3.MultiSourceYearSummary.processor.cs b/WebAPI/dataProcessors/t3.MultiSourceYearSummary.processor.cs index 949c799..fb3c8ae 100644 --- a/WebAPI/dataProcessors/t3.MultiSourceYearSummary.processor.cs +++ b/WebAPI/dataProcessors/t3.MultiSourceYearSummary.processor.cs @@ -107,21 +107,21 @@ namespace WebAPI.dataProcessors List allRecords = dataSources .SelectMany(x => x.Records!).ToList(); - List allRecordsValidation = dataSources - .SelectMany(x => x.Records!).ToList(); - foreach (Record baseRecord in dataSources.Last()?.Records!) + List baseCodess = allRecords.Select(x => x.Code!.Remove(0, 1)).Distinct().ToList(); + + foreach (string baseCode in baseCodess) { List codeRecords = allRecords.Where(x => - x.Code!.Substring(1) == baseRecord.Code!.Substring(1)) + x.Code!.Substring(1) == baseCode) .ToList(); List codeRecordsValidation = allRecords.Where(x => - x.Code!.Substring(1) == baseRecord.Code!.Substring(1)) + x.Code!.Substring(1) == baseCode) .ToList(); Record processedRecord = new Record { Id = Guid.NewGuid(), - Code = $"9{baseRecord.Code!.Remove(0,1)}", + Code = $"9{baseCode}", CreatedAt = DateTime.UtcNow, ModifiedAt = DateTime.UtcNow }; @@ -138,7 +138,7 @@ namespace WebAPI.dataProcessors ProcessHelper.getValue(processedRecord,i) != ProcessHelper.getValue(validationRecord, i)) { - throw new Exception($"ValidationError: Code {baseRecord.Code!}, " + + throw new Exception($"ValidationError: Code {baseCode!}, " + $"Value{i} ({ProcessHelper.getValue(processedRecord, i)} | " + $"{ProcessHelper.getValue(validationRecord, i)})"); }