如何通过包含过滤项目

时间:2019-05-27 01:18:59

标签: c# podio

如果我具有文本字段的确切字符串,则可以收集项目,但是如果我在文本字段中具有部分字符串,则需要收集项目。

这是我完全匹配的代码...

public static async Task<int> Items_With_String(int appId, string textFieldId, string stringToSearch)
{

    var filter = new Dictionary<string, string>
    {
        {textFieldId, stringToSearch }
    };

    var filteredItems = await Program.podio.ItemService.FilterItems(appId: appId, filters: filter);

    foreach (var item in filteredItems.Items)
    {
        Console.WriteLine($"{stringToSearch} found in {item.Title}");
    }

    return filteredItems.Total;
}

2 个答案:

答案 0 :(得分:0)

您实际上尚未提供FilterItems方法的实现。

但是对于部分匹配,通常可以使用linq查询并添加一个where 谓词与子句进行部分匹配。在这里,我给你一个样本 外观,以便可以将其用于列表和过滤器属性。

string filter = "something";
List<MyClass> myList = new List<MyClass>();
// add items to the list
myList.Where(item => item.Contains(filter));
// or for the partial match with a shared beginning
myList.Where(item => item.StartsWith(filter));

希望这对您的情况有所帮助。

答案 1 :(得分:0)

您可以使用搜索功能来代替FilterItems。

您可以在下面的链接中获取更多信息。

https://developers.podio.com/doc/search/search-in-app-4234651

请参阅示例

                bool isContinue = true;
                var limit = 0;
                var offSet = 0;
                while (isContinue)
                {
                    var items = podio.SearchService.SearchInApp(appId, stringToSearch, limit, offset);
                    offSet = offSet + limit;
                    limit = limit + 100;
                    isContinue = // check if you have value;
                }
相关问题