Обновление состояния элемента контрольного списка карточки с помощью Trello.Net в Trello API

Есть ли способ обновить CheckItemStates карточки Trello? (с Trello.NET)

trello.Checklists.AddCheckItem принимает только идентификатор контрольного списка и имя элемента. И возвращается недействительным.

Глядя на карту с существующим контрольным списком (все элементы еще не отмечены), CheckItemStates имеет 0 элементов.


person Ron Harlev    schedule 26.09.2012    source источник


Ответы (1)


Контрольные списки в Trello немного странные. Контрольный список принадлежит доске. Один и тот же чек-лист может быть на нескольких карточках. Но каждая карточка имеет отдельные состояния элемента контрольного списка (отмечено/не отмечено). Я не думаю, что можно добавить один и тот же контрольный список более чем к одной карточке на trello.com, но именно так это смоделировано за кулисами.

Начиная с версии 0.5.5-beta Trello.NET поддерживает это. Используйте 1_. Подробнее здесь.

Изменить:

В этом примере показано, как пройтись по контрольным спискам карты и контрольным элементам.

foreach (var checkList in trello.Cards.WithId("a card id").Checklists)
{
    Console.WriteLine(checkList.Name);

    foreach (var checkItem in checkList.CheckItems)             
        Console.WriteLine("\t{0}: {1}", checkItem.Name, checkItem.Checked);
}
person dillenmeister    schedule 27.09.2012
comment
Эту функцию убрали или я не там ищу? Я вижу только имя и идентификатор для CheckItems, состояние CheckItem отсутствует... - person Anders Forsgren; 11.06.2013
comment
Спасибо, именно это я и делаю, но я не вижу свойства Checked для элементов (типа TrelloNet.CheckItem), только Name и Id! Я смотрю не на тот класс? Я использую 0.5.9, и здесь все выглядит так же: github.com/dillenmeister/Trello.NET/blob/master/TrelloNet/ - person Anders Forsgren; 17.08.2013
comment
На самом деле есть два класса. Card.CheckItem (закрытый класс на Card) наследуется от обычного CheckItem и добавляет свойство Checked. Это связано с тем, что свойство Checked не является фактическим свойством CheckItem в Trello API, и существует некоторая особая логика при десериализации Card для установки свойства Checked для всех CheckItems. Вот код для этого: github.com /dillenmeister/Trello.NET/blob/master/TrelloNet/Cards/. Модель данных немного странная, как я пытался объяснить в ответе. Вы пробовали мой пример кода? - person dillenmeister; 20.08.2013
comment
Ага, я, конечно, наткнулся на разницу между trello.CheckLists.ForCard(card) и card.CheckLists. Кажется, они изобрели вонючую модель данных для контрольных списков. Спасибо. - person Anders Forsgren; 21.08.2013