public static string Compose(Data.GridData data) { string ret = ""; if (data != null) { for (int i = 0; i < data.RowsCount; ++i) { List <object> row_data = data.GetRowData(i); for (int y = 0; y < row_data.Count; ++y) { object column_object = row_data[y]; ret += column_object.ToString() + "\t"; } ret += "\n"; } } else { Debug.LogError("[Fast.Parsers.TSVParser] GridData is null and cannot be parsed"); } return(ret); }
public static Data.GridData Parse(List <string> lines) { Data.GridData ret = null; List <List <object> > data = new List <List <object> >(); for (int i = 0; i < lines.Count; ++i) { string curr_line = lines[i]; List <object> column_data = new List <object>(); List <string> sliced_data = curr_line.Split('\t').ToList(); for (int y = 0; y < sliced_data.Count; ++y) { string final_str = sliced_data[y].Replace("\t", ""); column_data.Add(final_str); } data.Add(column_data); } ret = new Data.GridData(data); return(ret); }
protected override async Task RunRequestInternal() { // For Google Drive Api documentation visit https://developers.google.com/sheets/api/quickstart/dotnet string[] scopes = { SheetsService.Scope.SpreadsheetsReadonly }; ClientSecrets secrets = new ClientSecrets(); secrets.ClientId = client_id; secrets.ClientSecret = client_secret; Task <UserCredential> user_credential_task = GoogleWebAuthorizationBroker.AuthorizeAsync(secrets, scopes, "user", CancellationToken.None); AwaitResult user_credential_task_result = await AwaitUtils.AwaitTask(user_credential_task); if (user_credential_task_result.HasErrors) { has_errors = true; error_result = new DownloadSpreadsheetErrorObject( user_credential_task_result.Exception.Message, user_credential_task_result.Exception); return; } UserCredential credential = user_credential_task.Result; if (credential == null) { has_errors = true; error_result = new DownloadSpreadsheetErrorObject("Credentials are null", null); return; } BaseClientService.Initializer service_in = new BaseClientService.Initializer(); service_in.HttpClientInitializer = credential; service_in.ApplicationName = "Download spreadhseet GoogleDrive"; SheetsService service = new SheetsService(service_in); SpreadsheetsResource.ValuesResource.GetRequest get_values_request = service.Spreadsheets.Values.Get(document_id, document_data_range); Task <Google.Apis.Sheets.v4.Data.ValueRange> get_values_task = get_values_request.ExecuteAsync(); AwaitResult get_values_task_result = await AwaitUtils.AwaitTask(get_values_task); if (get_values_task_result.HasErrors) { has_errors = true; error_result = new DownloadSpreadsheetErrorObject( get_values_task_result.Exception.Message, get_values_task_result.Exception); return; } Google.Apis.Sheets.v4.Data.ValueRange values = get_values_task.Result; if (values == null) { has_errors = true; error_result = new DownloadSpreadsheetErrorObject("Values are null", null); return; } IList <IList <object> > values_data = values.Values; List <List <object> > data = new List <List <object> >(); List <IList <object> > values_data_list = values_data.ToList(); for (int i = 0; i < values_data_list.Count; ++i) { List <object> data_row = values_data_list[i].ToList(); data.Add(data_row); } Data.GridData grid_data = new Data.GridData(data); success_result = new DownloadSpreadsheetSuccessObject(grid_data); }
public DownloadSpreadsheetSuccessObject(Data.GridData data) { this.data = data; }
public void ExecuteGetQuery(SQLQuery sql_query, Action <Data.GridData> on_success = null, Action <SQLError> on_fail = null) { if (connection != null && sql_query != null) { if (connected) { MySqlCommand adapter = new MySqlCommand(sql_query.Query, connection); foreach (KeyValuePair <string, object> entry in sql_query.Parameters) { adapter.Parameters.AddWithValue(entry.Key, entry.Value); } adapter.ExecuteReaderAsync().ContinueWith(delegate(Task <DbDataReader> task) { string error_msg = ""; Exception exception = null; bool has_errors = task.HasErrors(out error_msg, out exception); if (!has_errors) { List <List <object> > query_data = new List <List <object> >(); if (task.Result.HasRows) { while (task.Result.Read()) { List <object> row = new List <object>(task.Result.FieldCount); int fields = task.Result.FieldCount; for (int i = 0; i < fields; ++i) { object curr_field = task.Result.GetValue(i); row.Add(curr_field); } query_data.Add(row); } } task.Result.Close(); Data.GridData ret = new Data.GridData(query_data); if (on_success != null) { on_success.Invoke(ret); } } else { SQLError ret = new SQLError(); ret.ErrorMessage = error_msg; ret.ErrorException = exception; if (on_fail != null) { on_fail.Invoke(ret); } } }); } } }