50 lines
1.4 KiB
C#
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
|
|
};
|
|
}
|
|
}
|
|
}
|