Manatee.Trello is a .Net wrapper for Trello’s RESTful API written C#. The goal of this library is to expose the functionality of Trello as an intuitive, fully object-oriented design which implements a Lazy Initialization design pattern; that is, no object is loaded until its details have been requested.
Every object possesses the properties one would expect to find by simply using the Trello web UI. For example, a Board has a collection of Lists, each of which has a collection of Cards. A Card also references back to the List and Board in which it is contained. All objects are also cached so that memory is not wasted on multiple references to a single object.
Furthermore, each object is self-updating with a globally configurable expiration, which defaults to 60 seconds. To minimize calls to the RESTful API, each object only pulls updates if it has expired, and then only when it is accessed. For example, if a Member object is created, and its Boards collection is never accessed, no details for those boards are ever downloaded. Also, writes to object properties are collected until no changes have been made for a configurable idle time, which defaults to 100ms, and then the changes are published in a single call.
Finally, all collections returned by the API update automatically and are fully LINQ-compatible, enabling some of the API functionality not directly exposed by the wrapper.