Beispiel #1
0
        void ITwentyThreeParsable.Load(XmlReader reader)
        {
            if (reader.LocalName != "collection")
            {
                UtilityMethods.CheckParsingException(reader);
            }

            while (reader.MoveToNextAttribute())
            {
                switch (reader.LocalName)
                {
                case "id":
                    CollectionId = reader.Value;
                    break;

                case "title":
                    Title = reader.Value;
                    break;

                case "description":
                    Description = reader.Value;
                    break;

                case "iconlarge":
                    IconLarge = reader.Value;
                    break;

                case "iconsmall":
                    IconSmall = reader.Value;
                    break;

                case "url":
                    Url = reader.Value;
                    break;

                default:
                    UtilityMethods.CheckParsingException(reader);
                    break;
                }
            }

            reader.MoveToElement();

            // If this is an empty collection then skip to next item, which wont be a child, but may be a sibling.
            if (reader.IsEmptyElement)
            {
                reader.Skip();
                return;
            }

            reader.Read();

            while (reader.NodeType == XmlNodeType.Element && (reader.LocalName == "collection" || reader.LocalName == "set"))
            {
                if (reader.LocalName == "collection")
                {
                    var c = new Collection();
                    ((ITwentyThreeParsable)c).Load(reader);
                    _subcollections.Add(c);
                }
                else
                {
                    var s = new CollectionSet();
                    ((ITwentyThreeParsable)s).Load(reader);
                    _subsets.Add(s);
                }
            }

            // Skip to next element (if any)
            reader.Skip();
        }
        void ITwentyThreeParsable.Load(XmlReader reader)
        {
            while (reader.MoveToNextAttribute())
            {
                switch (reader.LocalName)
                {
                case "nsid":
                case "id":
                    GroupId = reader.Value;
                    break;

                case "iconserver":
                    IconServer = reader.Value;
                    break;

                case "iconfarm":
                    IconFarm = reader.Value;
                    break;

                case "lang":
                    Language = reader.Value;
                    break;

                case "ispoolmoderated":
                    IsPoolModerated = reader.Value == "1";
                    break;

                case "path_alias":
                    PathAlias = reader.Value == "" ? null : reader.Value;
                    break;

                default:
                    UtilityMethods.CheckParsingException(reader);
                    break;
                }
            }

            reader.Read();

            while (reader.LocalName != "group")
            {
                switch (reader.LocalName)
                {
                case "name":
                    GroupName = reader.ReadElementContentAsString();
                    break;

                case "description":
                    Description = reader.ReadElementContentAsString();
                    break;

                case "members":
                    Members = reader.ReadElementContentAsInt();
                    break;

                case "privacy":
                    Privacy = (PoolPrivacy)reader.ReadElementContentAsInt();
                    break;

                case "blast":
                    BlastDateAdded = UtilityMethods.UnixTimestampToDate(reader.GetAttribute("date_blast_added"));
                    BlastUserId    = reader.GetAttribute("user_id");
                    BlastHtml      = reader.ReadElementContentAsString();
                    break;

                case "throttle":
                    ThrottleInfo = new GroupThrottleInfo();
                    ((ITwentyThreeParsable)ThrottleInfo).Load(reader);
                    break;

                case "restrictions":
                    Restrictions = new GroupInfoRestrictions();
                    ((ITwentyThreeParsable)Restrictions).Load(reader);
                    break;

                case "roles":
                    MemberRoleName    = reader.GetAttribute("member");
                    ModeratorRoleName = reader.GetAttribute("moderator");
                    AdminRoleName     = reader.GetAttribute("admin");
                    reader.Read();
                    break;

                case "rules":
                    Rules = reader.ReadElementContentAsString();
                    break;

                case "pool_count":
                    PoolCount = reader.ReadElementContentAsInt();
                    break;

                case "topic_count":
                    TopicCount = reader.ReadElementContentAsInt();
                    break;

                default:
                    UtilityMethods.CheckParsingException(reader);
                    reader.Skip();
                    break;
                }
            }

            reader.Read();
        }
Beispiel #3
0
        void ITwentyThreeParsable.Load(System.Xml.XmlReader reader)
        {
            if (reader.LocalName != "contact")
            {
                UtilityMethods.CheckParsingException(reader);
            }

            while (reader.MoveToNextAttribute())
            {
                switch (reader.LocalName)
                {
                case "id":
                case "nsid":
                    UserId = reader.Value;
                    break;

                case "username":
                    UserName = reader.Value;
                    break;

                case "iconserver":
                    IconServer = reader.Value;
                    break;

                case "iconfarm":
                    IconFarm = reader.Value;
                    break;

                case "ignore":
                    IsIgnored = reader.Value == "0";
                    break;

                case "realname":
                    RealName = reader.Value;
                    break;

                case "location":
                    Location = reader.Value;
                    break;

                case "friend":
                    IsFriend = reader.Value == "1";
                    break;

                case "family":
                    IsFamily = reader.Value == "1";
                    break;

                case "path_alias":
                    PathAlias = reader.Value;
                    break;

                case "photos_uploaded":
                    PhotosUploaded = int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo);
                    break;

                case "rev_ignored":
                    break;

                case "ispro":
                    IsPro = reader.Value == "1";
                    break;

                case "inviewer":
                    InViewer = reader.Value == "1";
                    break;

                case "showprivate":
                    ShowPrivate = reader.Value == "1";
                    break;

                default:
                    UtilityMethods.CheckParsingException(reader);
                    break;
                }
            }

            reader.Skip();
        }
Beispiel #4
0
        void ITwentyThreeParsable.Load(System.Xml.XmlReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }
            if (reader.LocalName != "suggestion")
            {
                UtilityMethods.CheckParsingException(reader); return;
            }

            while (reader.MoveToNextAttribute())
            {
                switch (reader.LocalName)
                {
                case "id":
                    SuggestionId = reader.Value;
                    break;

                case "photo_id":
                    PhotoId = reader.Value;
                    break;

                case "date_suggested":
                    DateSuggested = UtilityMethods.UnixTimestampToDate(reader.Value);
                    break;

                default:
                    UtilityMethods.CheckParsingException(reader);
                    break;
                }
            }

            reader.Read();

            while (reader.LocalName != "suggestion" && reader.NodeType != System.Xml.XmlNodeType.EndElement)
            {
                switch (reader.LocalName)
                {
                case "suggested_by":
                    SuggestedByUserId   = reader.GetAttribute("nsid");
                    SuggestedByUserName = reader.GetAttribute("username");
                    reader.Skip();
                    break;

                case "note":
                    Note = reader.ReadElementContentAsString();
                    break;

                case "location":
                    while (reader.MoveToNextAttribute())
                    {
                        switch (reader.LocalName)
                        {
                        case "woeid":
                            WoeId = reader.Value;
                            break;

                        case "latitude":
                            Latitude = reader.ReadContentAsDouble();
                            break;

                        case "longitude":
                            Longitude = reader.ReadContentAsDouble();
                            break;

                        case "accuracy":
                            Accuracy = (GeoAccuracy)reader.ReadContentAsInt();
                            break;

                        default:
                            UtilityMethods.CheckParsingException(reader);
                            break;
                        }
                    }
                    reader.Skip();
                    break;

                default:
                    UtilityMethods.CheckParsingException(reader);
                    break;
                }
            }
        }
        void ITwentyThreeParsable.Load(System.Xml.XmlReader reader)
        {
            while (reader.MoveToNextAttribute())
            {
                switch (reader.LocalName)
                {
                case "nsid":
                case "id":
                    GroupId = reader.Value;
                    break;

                case "name":
                    GroupName = reader.Value;
                    break;

                case "admin":
                    IsAdmin = reader.Value == "1";
                    break;

                case "privacy":
                    Privacy = (PoolPrivacy)Enum.Parse(typeof(PoolPrivacy), reader.Value, true);
                    break;

                case "iconsserver":
                    IconServer = reader.Value;
                    break;

                case "iconfarm":
                    IconFarm = reader.Value;
                    break;

                case "photos":
                case "pool_count":
                    Photos = long.Parse(reader.Value, System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.InvariantInfo);
                    break;

                case "member":
                    IsMember = reader.Value == "1";
                    break;

                case "moderator":
                    IsModerator = reader.Value == "1";
                    break;

                case "member_count":
                    MemberCount = reader.ReadContentAsInt();
                    break;

                case "topic_count":
                    TopicCount = reader.ReadContentAsInt();
                    break;

                case "eighteenplus":
                    IsEighteenPlus = reader.Value == "1";
                    break;

                default:
                    UtilityMethods.CheckParsingException(reader);
                    break;
                }
            }

            reader.Read();
        }