Example #1
0
        public static Task FromJson(Json.JsonObject json)
        {
            var uuid         = Guid.Parse(json.GetNamedString("uuid"));
            var status       = statusLUT[json.GetNamedString("status")];
            var description  = json.GetNamedString("description");
            var entered      = new Timestamp(json.GetNamedString("entry"));
            var lastModified = new Timestamp(json.GetNamedString("modified"));
            var tags         = noTags;

            if (json.ContainsKey("tags"))
            {
                tags = ImmutableList.CreateRange(json.GetNamedArray("tags").Select(value => value.GetString()));
            }
            var additionalAttributes = ImmutableDictionary.CreateRange(json.Where(entry => !handledAttributes.Contains(entry.Key)));

            return(new Task(uuid, status, description, entered, lastModified, tags, additionalAttributes));
        }