예제 #1
0
        public void TestRelationshipFilter()
        {
            Guid itemId           = new Guid("11111111-aaaa-aaaa-aaaa-111111111111");
            Guid itemType         = new Guid("22222222-bbbb-bbbb-bbbb-222222222222");
            Guid relationshipType = new Guid("33333333-cccc-cccc-cccc-333333333333");

            MediaItemQuery query1 = new MediaItemQuery(new Guid[] { MediaAspect.ASPECT_ID }, new RelationshipFilter(itemType, relationshipType, itemId));

            TextWriter writer     = new StringWriter();
            XmlWriter  serialiser = new XmlTextWriter(writer);

            query1.Serialize(serialiser);

            //Console.WriteLine("XML: {0}", writer.ToString());

            XmlReader      reader = XmlReader.Create(new StringReader(writer.ToString()));
            MediaItemQuery query2 = MediaItemQuery.Deserialize(reader);

            Assert.IsTrue(query2.Filter is RelationshipFilter, "Query filter type");
            RelationshipFilter filter = (RelationshipFilter)query2.Filter;

            Assert.AreEqual(filter.LinkedMediaItemId, itemId, "Filter item linked ID");
            Assert.AreEqual(filter.Role, itemType, "Filter item type");
            Assert.AreEqual(filter.LinkedRole, relationshipType, "Filter item linked role");
        }
예제 #2
0
        protected override object DoDeserializeValue(XmlReader reader, bool isSimpleValue)
        {
            reader.ReadStartElement(); // Read start of enclosing element
            MediaItemQuery result = MediaItemQuery.Deserialize(reader);

            reader.ReadEndElement(); // End of enclosing element
            return(result);
        }