public static ItemSet <T> FromJObject(JObject jobject)
        {
            ItemSet <T> item = new ItemSet <T>();

            item.Id = IdObject.FromJObject(jobject);
            //the "@type" can come in as both a string and a string array, so we need to handle that
            var type = jobject["@type"].ToObject <object>();

            if (type.GetType() == typeof(string))
            {
                item.Type = new string[] { type.ToString() };
            }
            else
            {
                item.Type = jobject["@type"].ToObject <string[]>();
            }
            item.IsPublic         = Helpers.TryGet <JToken>(jobject, "o:is_public")?.ToObject <bool?>();
            item.Owner            = IdObject.FromJObject(Helpers.TryGet <JObject>(jobject, "o:owner"));
            item.ResourceClass    = IdObject.FromJObject(Helpers.TryGet <JObject>(jobject, "o:resource_class"));
            item.ResourceTemplate = IdObject.FromJObject(Helpers.TryGet <JObject>(jobject, "o:resource_template"));
            item.Thumbnail        = IdObject.FromJObject(Helpers.TryGet <JObject>(jobject, "o:thumbnail"));
            item.Title            = Helpers.TryGet <JToken>(jobject, "o:title")?.ToString();
            item.Created          = Helpers.DateTimeFromJObject(Helpers.TryGet <JObject>(jobject, "o:created"));
            item.Modified         = Helpers.DateTimeFromJObject(Helpers.TryGet <JObject>(jobject, "o:modified"));
            item.IsOpen           = Helpers.TryGet <JToken>(jobject, "o:is_open")?.ToObject <bool?>();
            item.Vocabulary       = new T();
            item.Vocabulary.ApplyVocabulary(jobject);
            return(item);
        }
Exemple #2
0
        public static IdObject FromJObject(JObject jobject)
        {
            if (jobject == null)
            {
                return(null);
            }
            IdObject idObject = new IdObject();

            idObject.Link = jobject["@id"].ToString();
            idObject.Id   = int.Parse(jobject["o:id"].ToString());
            return(idObject);
        }
Exemple #3
0
        public static IdObject[] FromJArray(JArray array)
        {
            if (array == null)
            {
                return(null);
            }
            IdObject[] idObjects = new IdObject[array.Count];
            int        n         = 0;

            foreach (var entry in array)
            {
                idObjects[n] = IdObject.FromJObject((JObject)entry);
                n++;
            }
            return(idObjects);
        }
        public static Media <T> FromJObject(JObject jobject)
        {
            Media <T> media = new Media <T>();

            media.Id = IdObject.FromJObject(jobject);
            //the "@type" can come in as both a string and a string array, so we need to handle that
            var type = jobject["@type"].ToObject <object>();

            if (type.GetType() == typeof(string))
            {
                media.Type = new string[] { type.ToString() };
            }
            else
            {
                media.Type = jobject["@type"].ToObject <string[]>();
            }
            media.IsPublic         = Helpers.TryGet <JToken>(jobject, "o:is_public")?.ToObject <bool?>();
            media.Owner            = IdObject.FromJObject(Helpers.TryGet <JObject>(jobject, "o:owner"));
            media.ResourceClass    = IdObject.FromJObject(Helpers.TryGet <JObject>(jobject, "o:resource_class"));
            media.ResourceTemplate = IdObject.FromJObject(Helpers.TryGet <JObject>(jobject, "o:resource_template"));
            media.Thumbnail        = IdObject.FromJObject(Helpers.TryGet <JObject>(jobject, "o:thumbnail"));
            media.Title            = Helpers.TryGet <JToken>(jobject, "o:title")?.ToString();
            media.Created          = Helpers.DateTimeFromJObject(Helpers.TryGet <JObject>(jobject, "o:created"));
            media.Modified         = Helpers.DateTimeFromJObject(Helpers.TryGet <JObject>(jobject, "o:modified"));
            media.Vocabulary       = new T();
            media.Vocabulary.ApplyVocabulary(jobject);

            media.Item         = IdObject.FromJObject(Helpers.TryGet <JObject>(jobject, "o:item"));
            media.Ingester     = Helpers.TryGet <JToken>(jobject, "o:ingester")?.ToObject <string>();
            media.Renderer     = Helpers.TryGet <JToken>(jobject, "o:renderer")?.ToObject <string>();
            media.Source       = Helpers.TryGet <JToken>(jobject, "o:source")?.ToObject <string>();
            media.MediaType    = Helpers.TryGet <JToken>(jobject, "o:media_type")?.ToObject <string>();
            media.SHA256       = Helpers.TryGet <JToken>(jobject, "o:sha256")?.ToObject <string>();
            media.Size         = Helpers.TryGet <JToken>(jobject, "o:size")?.ToObject <long?>();
            media.Filename     = Helpers.TryGet <JToken>(jobject, "o:filename")?.ToObject <string>();
            media.OriginalUrl  = Helpers.TryGet <JToken>(jobject, "o:original_url")?.ToObject <string>();
            media.ThumbnailUrl = ThumbnailUrl.FromJObject(Helpers.TryGet <JObject>(jobject, "o:thumbnail_urls"));

            return(media);
        }