Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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);
        }