public override DataTableStore GetDataTable(DataTableStore dt) { // Key this Data Set by the Filename dt.AddIdentifierColumn(typeof(string)); var mapping = new DataSchemaMapping(SchemaMap, Side); var columns = SchemaMap.GetIncludedColumns(); var modifiedSince = string.IsNullOrEmpty(ModifiedSinceUTC) ? default(DateTime?) : DateTime.SpecifyKind(DateTime.Parse(ModifiedSinceUTC), DateTimeKind.Utc); using (Session session = GetSession()) { // Get the Files from the Server GetFiles(session, session.ListDirectory(Path), RecuirseFolders, dt, mapping, columns, modifiedSince); } return(dt); }
public override DataTableStore GetDataTable(DataTableStore dt) { dt.AddIdentifierColumn(typeof(string)); var uriHelper = new MailChimpUriHelper(APIKey); var mapping = new DataSchemaMapping(SchemaMap, Side); var schema = MailChimpDataSchema.MailChimpMemberSchema(); var included_columns = SchemaMap.GetIncludedColumns(); int total_items = 0; int count = 0; bool abort = false; helper.SetAuthorizationHeader(APIKey); do { var result = helper.GetRequestAsJson($"{uriHelper.ListServiceUrl}/{ListId}/members?count={PageSize}&offset={count}"); total_items = result["total_items"].ToObject <int>(); if (result["members"] != null) { foreach (var item_row in result["members"]) { count++; var newRow = dt.NewRow(); var id = ProcessRow(mapping, schema, included_columns, item_row, newRow); if (dt.Rows.AddWithIdentifier(newRow, id) == DataTableStore.ABORT) { abort = true; break; } } } } while (!abort && count < total_items); return(dt); }
public override DataTableStore GetDataTable(DataTableStore dt) { //Set the Datasource Identifier. dt.AddIdentifierColumn(typeof(int)); DataSchemaMapping mapping = new DataSchemaMapping(SchemaMap, Side); IList <DataSchemaItem> columns = SchemaMap.GetIncludedColumns(); var schema = DataSourceInfo.GetPipedriveDataSchema(helper); int start = 0; bool continue_load = false; do { var result = helper.GetRequestAsJson($"{DataSourceInfo.PipedriveEndpointUrl}&start={start}&limit={PageSize}"); //Loop around your data adding it to the DataTableStore dt object. foreach (var item_row in result["data"]) { if (dt.Rows.AddWithIdentifier(mapping, columns, (item, columnName) => { var pds = schema[columnName]; return(pds.Parser.ParseValue(item_row[columnName])); } , item_row["id"].ToObject <int>()) == DataTableStore.ABORT) { break; } } continue_load = result["additional_data"]?["pagination"] != null && result["additional_data"]["pagination"]["more_items_in_collection"].ToObject <bool>(); if (continue_load) { start = result["additional_data"]["pagination"]["next_start"].ToObject <int>(); } } while (continue_load); return(dt); }