Exemple #1
0
        private static UserInformation ParseRequest(string xmlResponse)
        {
            var userInfo = new UserInformation();

            using (XmlReader reader = XmlReader.Create(new StringReader(xmlResponse)))
            {
                var ws = new XmlWriterSettings();
                ws.Indent = true;
                while (reader.Read())
                {
                    if (reader.NodeType == XmlNodeType.Element && reader.HasAttributes)
                    {
                        //This would have been much nicer and cleaner with Linq to Xml but
                        //I figured it was probably more important to keep it pointed at .NET 2.0
                        for (int i = 0; i < reader.AttributeCount; i++)
                        {
                            reader.MoveToAttribute(i);
                            #region Ugly switch statement to set properties
                            switch (reader.Name.ToLowerInvariant())
                            {
                            case "default-post-format":
                                userInfo.DefaultPostFormat = reader.Value;
                                break;

                            case "can-upload-audio":
                                userInfo.CanUploadAudio = ParseBool(reader.Value);
                                break;

                            case "can-upload-aiff":
                                userInfo.CanUploadAiff = ParseBool(reader.Value);
                                break;

                            case "can-ask-question":
                                userInfo.CanAskQuestion = ParseBool(reader.Value);
                                break;

                            case "can-upload-video":
                                userInfo.CanUploadVideo = ParseBool(reader.Value);
                                break;

                            case "max-video-bytes-uploaded":
                                userInfo.MaxVideoBytesUploaded = ParseLong(reader.Value);
                                break;

                            case "liked-post-count":
                                userInfo.LikedPostCount = ParseInt(reader.Value);
                                break;

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

                            case "is-admin":
                                userInfo.TumblrLog.IsAdmin = ParseBool(reader.Value);
                                break;

                            case "posts":
                                userInfo.TumblrLog.Posts = ParseInt(reader.Value);
                                break;

                            case "twitter-enabled":
                                userInfo.TumblrLog.IsTwitterEnabled = ParseBool(reader.Value);
                                break;

                            case "draft-count":
                                userInfo.TumblrLog.DraftCount = ParseInt(reader.Value);
                                break;

                            case "messages-count":
                                userInfo.TumblrLog.MessageCount = ParseInt(reader.Value);
                                break;

                            case "queue-count":
                                userInfo.TumblrLog.QueueCount = ParseInt(reader.Value);
                                break;

                            case "name":
                                userInfo.TumblrLog.Name = reader.Value;
                                break;

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

                            case "type":
                                userInfo.TumblrLog.Type = reader.Value;
                                break;

                            case "followers":
                                userInfo.TumblrLog.Followers = ParseInt(reader.Value);
                                break;

                            case "avatar-url":
                                userInfo.TumblrLog.AvatarUrl = reader.Value;
                                break;

                            case "is-primary":
                                userInfo.TumblrLog.IsPrimary = ParseBool(reader.Value);
                                break;

                            case "backup-post-limit":
                                userInfo.TumblrLog.BackUpPostLimit = ParseInt(reader.Value);
                                break;
                            }
                            #endregion
                        }
                    }
                }
            }
            return(userInfo);
        }
		private static UserInformation ParseRequest(string xmlResponse)
		{
			var userInfo = new UserInformation();
			using (XmlReader reader = XmlReader.Create(new StringReader(xmlResponse)))
			{
				var ws = new XmlWriterSettings();
				ws.Indent = true;
				while (reader.Read())
				{
					if (reader.NodeType == XmlNodeType.Element && reader.HasAttributes)
					{
						//This would have been much nicer and cleaner with Linq to Xml but 
						//I figured it was probably more important to keep it pointed at .NET 2.0
						for (int i = 0; i < reader.AttributeCount; i++)
						{
							reader.MoveToAttribute(i);
							#region Ugly switch statement to set properties
							switch (reader.Name.ToLowerInvariant())
							{
								case "default-post-format":
									userInfo.DefaultPostFormat = reader.Value;
									break;
								case "can-upload-audio":
									userInfo.CanUploadAudio = ParseBool(reader.Value);
									break;
								case "can-upload-aiff":
									userInfo.CanUploadAiff = ParseBool(reader.Value);
									break;
								case "can-ask-question":
									userInfo.CanAskQuestion = ParseBool(reader.Value);
									break;
								case "can-upload-video":
									userInfo.CanUploadVideo = ParseBool(reader.Value);
									break;
								case "max-video-bytes-uploaded":
									userInfo.MaxVideoBytesUploaded = ParseLong(reader.Value);
									break;
								case "liked-post-count":
									userInfo.LikedPostCount = ParseInt(reader.Value);
									break;
								case "title":
									userInfo.TumblrLog.Title = reader.Value;
									break;
								case "is-admin":
									userInfo.TumblrLog.IsAdmin = ParseBool(reader.Value);
									break;
								case "posts":
									userInfo.TumblrLog.Posts = ParseInt(reader.Value);
									break;
								case "twitter-enabled":
									userInfo.TumblrLog.IsTwitterEnabled = ParseBool(reader.Value);
									break;
								case "draft-count":
									userInfo.TumblrLog.DraftCount = ParseInt(reader.Value);
									break;
								case "messages-count":
									userInfo.TumblrLog.MessageCount = ParseInt(reader.Value);
									break;
								case "queue-count":
									userInfo.TumblrLog.QueueCount = ParseInt(reader.Value);
									break;
								case "name":
									userInfo.TumblrLog.Name = reader.Value;
									break;
								case "url":
									userInfo.TumblrLog.Url = reader.Value;
									break;
								case "type":
									userInfo.TumblrLog.Type = reader.Value;
									break;
								case "followers":
									userInfo.TumblrLog.Followers = ParseInt(reader.Value);
									break;
								case "avatar-url":
									userInfo.TumblrLog.AvatarUrl = reader.Value;
									break;
								case "is-primary":
									userInfo.TumblrLog.IsPrimary = ParseBool(reader.Value);
									break;
								case "backup-post-limit":
									userInfo.TumblrLog.BackUpPostLimit = ParseInt(reader.Value);
									break;
							} 
							#endregion
						}
					}
				}
			}
			return userInfo;
		}