internal Event(ParsedJson json) { Id = json.GetInt("id"); PrimaryGroup = new Group(json.GetObject("group")); Description = json.GetString("description"); Title = json.GetString("title"); StartsAt = json.GetDateTime("starts_at", true); FinishesAt = json.GetDateTime("finishes_at", true); CreatedAt = json.GetDateTime("created_at", false).Value; UpdatedAt = json.GetDateTime("updated_at", false).Value; Creator = new User(json.GetObject("creator")); Kind = json.GetEnum <EventKind>("kind"); Status = json.GetEnum <EventStatus>("status"); Locked = json.GetBool("locked"); Participants = json.GetArray("participants").ConvertAll(e => new User(e)); Votes = new Dictionary <int, EventVote>(); foreach (var vote in json.GetArray("votes")) { Votes[vote.GetInt("id")] = new EventVote(vote); } }
internal Expense(ParsedJson json) { Id = json.GetInt("id"); PrimaryGroup = new Group(json.GetObject("group")); Name = json.GetString("name"); Notes = json.GetString("notes"); Price = json.GetDecimal("price"); Quantity = json.GetInt("quantity"); Archived = json.GetBool("archived"); CreatedAt = json.GetDateTime("created_at", false).Value; UpdatedAt = json.GetDateTime("updated_at", false).Value; Creator = new User(json.GetObject("creator")); Participants = json.GetArray("participants").ConvertAll(e => new User(e)); }