Пример #1
0
            public object DeserializeOptimizedData(LoadContext identifier, Type objectType, Stream stream)
            {
                StreamReader sr = new StreamReader(stream);

                PhotoUrls vm = new PhotoUrls(sr.ReadLine());

                vm.ThumbnailUrl = sr.ReadLine();
                return(vm);
            }
Пример #2
0
            public bool SerializeOptimizedData(object value, Stream outputStream)
            {
                StreamWriter sw = new StreamWriter(outputStream);
                PhotoUrls    vm = (PhotoUrls)value;

                sw.WriteLine(vm.LoadContext.Identity);
                sw.WriteLine(vm.ThumbnailUrl);
                sw.Flush();
                return(true);
            }
Пример #3
0
            protected override object DeserializeCore(LoadContext identifier, XElement xml, Type objectType, Stream stream)
            {
                //  <sizes>
                //<size label="Square" width="75" height="75"
                //      source="http://farm2.static.flickr.com/1103/567229075_2cf8456f01_s.jpg"
                //      url="http://www.flickr.com/photos/stewart/567229075/sizes/sq/"/>
                //<size label="Thumbnail" width="100" height="75"
                //      source="http://farm2.static.flickr.com/1103/567229075_2cf8456f01_t.jpg"
                //      url="http://www.flickr.com/photos/stewart/567229075/sizes/t/"/>
                //<size label="Small" width="240" height="180"
                //      source="http://farm2.static.flickr.com/1103/567229075_2cf8456f01_m.jpg"
                //      url="http://www.flickr.com/photos/stewart/567229075/sizes/s/"/>
                //<size label="Medium" width="500" height="375"
                //      source="http://farm2.static.flickr.com/1103/567229075_2cf8456f01.jpg"
                //      url="http://www.flickr.com/photos/stewart/567229075/sizes/m/"/>
                //<size label="Original" width="640" height="480"
                //      source="http://farm2.static.flickr.com/1103/567229075_6dc09dc6da_o.jpg"
                //      url="http://www.flickr.com/photos/stewart/567229075/sizes/o/"/>
                //</sizes>

                var vm = new PhotoUrls((string)identifier.Identity);

                foreach (var s in xml.Elements("size"))
                {
                    bool   success;
                    string label = TryGetValue(s, "label", null, out success);
                    string src   = TryGetValue(s, "source", null, out success);
                    switch (label)
                    {
                    case "Thumbnail":
                        vm.ThumbnailUrl = src;
                        break;

                    case "Medium":
                    case "Medium 500":
                    case "Medium 640":
                        vm.MediumUrl = src;
                        break;

                    case "Large":
                        vm.LargeUrl = src;
                        break;

                    case "Small":
                        vm.SmallUrl = src;
                        break;
                    }
                }
                return(vm);
            }