public GSheetRange GetFirstEmptyCell(string range) { var r = GSheetRange.Parse(range); var all = ReadCells2D(range); var lastNumber = r.RangeStart.YNumber + all.Count; return(new GSheetRange(r.TableName, $"{r.RangeStart.XString}{lastNumber}", null)); }
public void SaveExpense(string amount, string currency, string category, string description) { var valuesArr = new List <string> { DateTime.Now.Date.ToString("yyyy-M-dd"), amount, currency, CurrencyRates.Convert("USD", currency).ToString(CultureInfo.InvariantCulture) }; // TODO: move to constant and then to settings. var last = _googleSheetsClient.GetFirstEmptyCell("Transactions!B4:B500"); var firstPart = last; var secondPart = new GSheetRange(last.TableName, "G" + last.RangeStart.YNumber, null); _googleSheetsClient.WriteRows(firstPart.ToString(), valuesArr); valuesArr.Clear(); valuesArr.Add(description); valuesArr.Add(category); _googleSheetsClient.WriteRows(secondPart.ToString(), valuesArr); }