diff --git a/WebAPI/Controllers/LayersController.cs b/WebAPI/Controllers/LayersController.cs index 3e6e751..d1b4f1b 100644 --- a/WebAPI/Controllers/LayersController.cs +++ b/WebAPI/Controllers/LayersController.cs @@ -280,7 +280,6 @@ public class LayersController : Controller x.Name != null && x.Name.Contains(nameFilter) && x.Records!.Any(y => y.Code == "Type" && y.Desc1 == "ImportWorker") && x.Records!.Any(y => y.Code == "IsEnabled" && y.Desc1 == "True") - ) .OrderByDescending(x => x.CreatedAt) .ToList(); @@ -645,7 +644,7 @@ public class LayersController : Controller } case "T1-R3": { - var processor = new T1R3Processor(_db, this, _logsController, _googleSheetValues); + var processor = new T1R3Processor(_db, this, _googleSheetValues); processor.Process(processWorker); _logsController.AddEntry(new LogEntry diff --git a/WebAPI/dataImporters/morska.d1.importer.cs b/WebAPI/dataImporters/morska.d1.importer.cs index cf55c98..375efbe 100644 --- a/WebAPI/dataImporters/morska.d1.importer.cs +++ b/WebAPI/dataImporters/morska.d1.importer.cs @@ -78,7 +78,7 @@ public class MorskaD1Importer( var dataRangeResponse = googleSheetValues.Get(sheetId, $"{sheetTabName}!{dataRange}").Execute(); var data = dataRangeResponse.Values; var newRecords = (from t in data - where t.Count > 13 && (string)t[0] != string.Empty + where t.Count > 17 && (string)t[0] != string.Empty select new Record { Id = Guid.NewGuid(), @@ -95,6 +95,9 @@ public class MorskaD1Importer( Value10 = ParseValue(t[12].ToString()), Value11 = ParseValue(t[13].ToString()), Value12 = ParseValue(t[14].ToString()), + Value13 = ParseValue(t[15].ToString()), + Value14 = ParseValue(t[16].ToString()), + Value15 = ParseValue(t[17].ToString()), CreatedAt = DateTime.UtcNow, ModifiedAt = DateTime.UtcNow }).ToList(); diff --git a/WebAPI/dataProcessors/t1.r3.processor.cs b/WebAPI/dataProcessors/t1.r3.processor.cs index 0ee6106..3a48657 100644 --- a/WebAPI/dataProcessors/t1.r3.processor.cs +++ b/WebAPI/dataProcessors/t1.r3.processor.cs @@ -1,10 +1,8 @@ using System.Globalization; using System.Text.RegularExpressions; using DiunaBIWebAPI.dataProcessors; -using Google; using Google.Apis.Sheets.v4; using Google.Apis.Sheets.v4.Data; -using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.EntityFrameworkCore; using WebAPI.Controllers; using WebAPI.Models; @@ -14,12 +12,10 @@ namespace WebAPI.dataProcessors; public class T1R3Processor( AppDbContext db, LayersController controller, - LogsController logsController, SpreadsheetsResource.ValuesResource googleSheetValues) { public void Process(Layer processWorker) { - var year = int.Parse(processWorker.Records?.SingleOrDefault(x => x.Code == "Year")?.Desc1!); var source = processWorker.Records?.Where(x => x.Code == "Source").First().Desc1; if (source == null) @@ -127,7 +123,7 @@ public class T1R3Processor( { dataRangeResponse = googleSheetValues.Get(sheetId, $"{sheetName}!A7:A200").Execute(); } - catch (GoogleApiException ex) + catch { continue; // Sheet not exist } @@ -147,7 +143,7 @@ public class T1R3Processor( var updateRow = new List(); - for (var j = 1; j < 12; j++) + for (var j = 1; j < 16; j++) { var codeRecord = r3!.Records!.FirstOrDefault(x => x.Code == $"{code}{i:D2}{j:D2}"); if (codeRecord is { Value1: not null }) @@ -167,6 +163,29 @@ public class T1R3Processor( var update = googleSheetValues.Update(updateValueRange, sheetId, $"{sheetName}!C7:Q200"); update.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED; update.Execute(); + + // update time + var timeUtc = new List + { + r3!.ModifiedAt.ToString("dd.MM.yyyy HH:mm:ss", CultureInfo.GetCultureInfo("pl-PL")) + }; + var warsawTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time"); + var warsawTime = TimeZoneInfo.ConvertTimeFromUtc(r3.ModifiedAt.ToUniversalTime(), warsawTimeZone); + var timeWarsaw = new List + { + warsawTime.ToString("dd.MM.yyyy HH:mm:ss", CultureInfo.GetCultureInfo("pl-PL")) + }; + var valueRangeTime = new ValueRange + { + Values = new List> () + }; + valueRangeTime.Values.Add(timeUtc); + valueRangeTime.Values.Add(timeWarsaw); + + var updateTimeUtc = googleSheetValues.Update(valueRangeTime, sheetId, $"{sheetName}!G1:G2"); + updateTimeUtc.ValueInputOption = + SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED; + updateTimeUtc.Execute(); } } } \ No newline at end of file