Files
DiunaBI/WebAPI/dataParsers/googleSheet.parser.cs
2022-12-27 14:12:45 +01:00

50 lines
1.4 KiB
C#

using Google.Apis.Sheets.v4;
using System.Globalization;
using WebAPI.Models;
namespace WebAPI.dataParsers
{
public class googleSheetParser
{
private SpreadsheetsResource.ValuesResource googleSheetValues;
public googleSheetParser(SpreadsheetsResource.ValuesResource _googleSheetValues)
{
googleSheetValues = _googleSheetValues;
}
public dynamic parse(string sheetId)
{
var range = "Arkusz1!A:B";
var request = googleSheetValues.Get(sheetId, range);
var response = request.Execute();
var data = response.Values;
List<DataRow> dataRows = new List<DataRow>();
string date = (string)data[0][0];
for (int i = 1; i < data.Count; i++)
{
float value = float.Parse(data[i][1].ToString(), CultureInfo.GetCultureInfo("pl-PL"));
if (value > 0)
{
DataRow dataRow = new DataRow();
dataRow.Id = Guid.NewGuid();
dataRow.Code = data[i][0].ToString();
dataRow.Value = value;
dataRow.CreatedAt = DateTime.UtcNow;
dataRow.ModifiedAt = DateTime.UtcNow;
dataRows.Add(dataRow);
}
}
return new
{
dataRows = dataRows,
date = date
};
}
}
}