internal static void NewMember(SheetsService service, string spreadsheetId, DatabaseSheet sheet, IList <IList <object> > values) { SpreadsheetsResource.ValuesResource.AppendRequest request = service.Spreadsheets.Values.Append(new ValueRange() { Values = values }, spreadsheetId, $"{sheet.Name}!{sheet.DatabaseColumns.FirstOrDefault().Value.ColumnLetters}{sheet.ColumnHeadersRow+2}:{sheet.DatabaseColumns.LastOrDefault().Value.ColumnLetters}{sheet.ColumnHeadersRow + 2}"); request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS; request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.RAW; var response = request.Execute(); }
internal IList <IList <object> > GetColumnValues(DatabaseSheet sheet, string column) { var values = SpreadsheetHandler.GetValuesFromRange(_service, _spreadsheet.Id, $"{sheet.Name}!{column}:{column}"); if (values.Count == 0) { Console.WriteLine("No data in range found"); return(null); } return(values); }
internal IList <string> GetRowValues(DatabaseSheet sheet, int row) { var values = SpreadsheetHandler.GetValuesFromRange(_service, _spreadsheet.Id, $"{sheet.Name}!{row}:{row}"); if (values.Count == 0) { Console.WriteLine("No data in range found"); return(null); } var result = values.SelectMany(i => i).ToList(); var stringResults = result.Select(r => r.ToString()).ToList(); return(stringResults); }
internal Dictionary <string, DatabaseColumn> GetColumns(DatabaseSheet sheet, int headersRow) { var columns = new Dictionary <string, DatabaseColumn>(); var headers = GetRowValues(sheet, headersRow); for (var i = 0; i < headers.Count(); i++) { var columnLetters = DatabaseHelper.GetColumnLetters()[i]; var columnHeader = headers[i]; var column = DatabaseHelper.GetColumn(columnLetters, columnHeader); columns.TryAdd(columnHeader, column); } return(columns); }
internal Dictionary <string, DatabaseField> GetDatabaseFieldsFromConsecutiveColumns(DatabaseSheet sheet, Dictionary <string, DatabaseColumn> columns, DatabaseRow row) { var databaseFields = new Dictionary <string, DatabaseField>(); foreach (var column in columns) { var databaseField = new DatabaseField(sheet, column.Value, row); databaseFields.TryAdd(column.Key, databaseField); } return(databaseFields); }