Commits

lfoust  committed 2f3a147

Started adding question methods. Finished Question and MigrationInfo entities.

  • Participants
  • Parent commits 361006a
  • Branches V2.0

Comments (0)

Files changed (18)

File trunk/source/Stacky.Net35/Stacky.Net35.csproj

     <Compile Include="..\Stacky\Entities\SiteStyle.cs">
       <Link>Entities\SiteStyle.cs</Link>
     </Compile>
+    <Compile Include="..\Stacky\Entities\SuggestedEdit.cs">
+      <Link>Entities\SuggestedEdit.cs</Link>
+    </Compile>
     <Compile Include="..\Stacky\Entities\Tag.cs">
       <Link>Entities\Tag.cs</Link>
     </Compile>
     <Compile Include="..\Stacky\Enums\SortDirection.cs">
       <Link>Enums\SortDirection.cs</Link>
     </Compile>
+    <Compile Include="..\Stacky\Enums\SuggestedEditSort.cs">
+      <Link>Enums\SuggestedEditSort.cs</Link>
+    </Compile>
     <Compile Include="..\Stacky\Enums\TagSort.cs">
       <Link>Enums\TagSort.cs</Link>
     </Compile>

File trunk/source/Stacky.Silverlight/Stacky.Silverlight.csproj

     <Compile Include="..\Stacky\Entities\SiteStyle.cs">
       <Link>Entities\SiteStyle.cs</Link>
     </Compile>
+    <Compile Include="..\Stacky\Entities\SuggestedEdit.cs">
+      <Link>Entities\SuggestedEdit.cs</Link>
+    </Compile>
     <Compile Include="..\Stacky\Entities\Tag.cs">
       <Link>Entities\Tag.cs</Link>
     </Compile>
     <Compile Include="..\Stacky\Enums\SortDirection.cs">
       <Link>Enums\SortDirection.cs</Link>
     </Compile>
+    <Compile Include="..\Stacky\Enums\SuggestedEditSort.cs">
+      <Link>Enums\SuggestedEditSort.cs</Link>
+    </Compile>
     <Compile Include="..\Stacky\Enums\TagSort.cs">
       <Link>Enums\TagSort.cs</Link>
     </Compile>

File trunk/source/Stacky.WindowsPhone/Stacky.WindowsPhone.csproj

     <Compile Include="..\Stacky\Entities\SiteStyle.cs">
       <Link>Entities\SiteStyle.cs</Link>
     </Compile>
+    <Compile Include="..\Stacky\Entities\SuggestedEdit.cs">
+      <Link>Entities\SuggestedEdit.cs</Link>
+    </Compile>
     <Compile Include="..\Stacky\Entities\Tag.cs">
       <Link>Entities\Tag.cs</Link>
     </Compile>
     <Compile Include="..\Stacky\Enums\SortDirection.cs">
       <Link>Enums\SortDirection.cs</Link>
     </Compile>
+    <Compile Include="..\Stacky\Enums\SuggestedEditSort.cs">
+      <Link>Enums\SuggestedEditSort.cs</Link>
+    </Compile>
     <Compile Include="..\Stacky\Enums\TagSort.cs">
       <Link>Enums\TagSort.cs</Link>
     </Compile>

File trunk/source/Stacky/Entities/MigrationInfo.cs

     /// </summary>
     public class MigrationInfo : Entity
     {
-        private int newQuestionId;
-        private Site toSite;
-        private DateTime onDate;
-
-        /// <summary>
-        /// Gets or sets the destination questionId
-        /// </summary>
-        [JsonProperty("new_question_id")]
-        public int NewQuestionId
+        private int questionId;
+        [JsonProperty("question_id")]
+        public int QuestionId
         {
-            get { return newQuestionId; }
-            set { newQuestionId = value; NotifyOfPropertyChange(() => NewQuestionId); }
+            get { return questionId; }
+            set { questionId = value; NotifyOfPropertyChange(() => QuestionId); }
         }
 
-        /// <summary>
-        /// Gets or sets the <see cref="Site"/> the <see cref="Question"/> has been migrated to
-        /// </summary>
-        [JsonProperty("to_site")]
-        public Site ToSite
+        private Site otherSite;
+        [JsonProperty("other_site")]
+        public Site OtherSite
         {
-            get { return toSite; }
-            set { toSite = value; NotifyOfPropertyChange(() => ToSite); }
+            get { return otherSite; }
+            set { otherSite = value; NotifyOfPropertyChange(() => OtherSite); }
         }
 
-        /// <summary>
-        /// Gets or sets the date the <see cref="Question"/> was migrated
-        /// </summary>
+        private DateTime onDate;
         [JsonProperty("on_date"), JsonConverter(typeof(UnixDateTimeConverter))]
         public DateTime OnDate
         {

File trunk/source/Stacky/Entities/Privilege.cs

 {
     public class Privilege : Entity
     {
-        private string shortDescription;
-        private string description;
-        private int reputation;
-        
         /// <summary>
         /// The short description of the Privelege
         /// </summary>
+        private string shortDescription;
         [JsonProperty("short_description")]
         public string ShortDescription
         {
         /// <summary>
         /// The description of the Privelege
         /// </summary>
+        private string description;
         [JsonProperty("description")]
         public string Description
         {
         }
 
         /// <summary>
-        /// The amount of reputation that goes along with the <c ref="Reputation" />
+        /// The amount of reputation that goes along with the <c ref="Privelege" />
         /// </summary>
+        private int reputation;
         [JsonProperty("reputation")]
         public int Reputation
         {

File trunk/source/Stacky/Entities/Question.cs

     [JsonObject]
     public class Question : Entity
     {
-        #region private members
-
-        private List<string> tags = new List<string>();
-        private List<Answer> answers = new List<Answer>();
-        private List<Comment> comments = new List<Comment>();
         private int id;
-        private string title;
-        private string body;
-        private int answerCount;
-        private DateTime creationDate;
-        private DateTime lastActivityDate;
-        private DateTime lastEditDate;
-        private DateTime lockedDate;
-        private DateTime closedDate;
-        private string closedReason;
-        private int upVoteCount;
-        private int downVoteCount;
-        private int favoriteCount;
-        private int viewCount;
-        private int score;
-        private bool communityOwned;
-        private int acceptedAnswerId;
-        private int bountyAmount;
-        private string timelineUrl;
-        private string commentsUrl;
-        private MigrationInfo migrated;
-        private ShallowUser owner;
-
-        #endregion
-
-        /// <summary>
-        /// Gets or sets the <see cref="Question"/> id.
-        /// </summary>
-        /// <value>The <see cref="Question"/> id.</value>
         [JsonProperty("question_id")]
         public int Id
         {
             set { id = value; NotifyOfPropertyChange(() => Id); }
         }
 
-        /// <summary>
-        /// Gets or sets the <see cref="Question"/> title.
-        /// </summary>
-        /// <value>The <see cref="Question"/> title.</value>
+        private DateTime lastEditDate;
+        [JsonProperty("last_edit_date"), JsonConverter(typeof(UnixDateTimeConverter))]
+        public DateTime LastEditDate
+        {
+            get { return lastEditDate; }
+            set { lastEditDate = value; NotifyOfPropertyChange(() => LastEditDate); }
+        }
+
+        private DateTime creationDate;
+        [JsonProperty("creation_date"), JsonConverter(typeof(UnixDateTimeConverter))]
+        public DateTime CreationDate
+        {
+            get { return creationDate; }
+            set { creationDate = value; NotifyOfPropertyChange(() => CreationDate); }
+        }
+
+        private DateTime lastActivityDate;
+        [JsonProperty("last_activity_date"), JsonConverter(typeof(UnixDateTimeConverter))]
+        public DateTime LastActivityDate
+        {
+            get { return lastActivityDate; }
+            set { lastActivityDate = value; NotifyOfPropertyChange(() => LastActivityDate); }
+        }
+
+        private DateTime lockedDate;
+        [JsonProperty("locked_date"), JsonConverter(typeof(UnixDateTimeConverter))]
+        public DateTime LockedDate
+        {
+            get { return lockedDate; }
+            set { lockedDate = value; NotifyOfPropertyChange(() => LockedDate); }
+        }
+
+        private int score;
+        [JsonProperty("score")]
+        public int Score
+        {
+            get { return score; }
+            set { score = value; NotifyOfPropertyChange(() => Score); }
+        }
+
+        private DateTime communityOwnedDate;
+        [JsonProperty("community_owned_date"), JsonConverter(typeof(UnixDateTimeConverter))]
+        public DateTime CommunityOwnedDate
+        {
+            get { return communityOwnedDate; }
+            set { communityOwnedDate = value; NotifyOfPropertyChange(() => CommunityOwnedDate); }
+        }
+
+        private int answerCount;
+        [JsonProperty("answer_count")]
+        public int AnswerCount
+        {
+            get { return answerCount; }
+            set { answerCount = value; NotifyOfPropertyChange(() => AnswerCount); }
+        }
+
+        private int acceptedAnswerId;
+        [JsonProperty("accepted_answer_id")]
+        public int AcceptedAnswerId
+        {
+            get { return acceptedAnswerId; }
+            set { acceptedAnswerId = value; NotifyOfPropertyChange(() => AcceptedAnswerId); }
+        }
+
+        private MigrationInfo migratedTo;
+        [JsonProperty("migrated_to")]
+        public MigrationInfo MigratedTo
+        {
+            get { return migratedTo; }
+            set { migratedTo = value; NotifyOfPropertyChange(() => MigratedTo); }
+        }
+
+        private MigrationInfo migratedFrom;
+        [JsonProperty("migrated_from")]
+        public MigrationInfo MigratedFrom
+        {
+            get { return migratedFrom; }
+            set { migratedFrom = value; NotifyOfPropertyChange(() => MigratedFrom); }
+        }
+
+        private DateTime bountyClosesDate;
+        [JsonProperty("bounty_closes_date"), JsonConverter(typeof(UnixDateTimeConverter))]
+        public DateTime BountyClosesDate
+        {
+            get { return bountyClosesDate; }
+            set { bountyClosesDate = value; NotifyOfPropertyChange(() => BountyClosesDate); }
+        }
+
+        private int bountyAmount;
+        [JsonProperty("bounty_amount")]
+        public int BountyAmount
+        {
+            get { return bountyAmount; }
+            set { bountyAmount = value; NotifyOfPropertyChange(() => BountyAmount); }
+        }
+
+        private DateTime closedDate;
+        [JsonProperty("closed_date"), JsonConverter(typeof(UnixDateTimeConverter))]
+        public DateTime ClosedDate
+        {
+            get { return closedDate; }
+            set { closedDate = value; NotifyOfPropertyChange(() => ClosedDate); }
+        }
+
+        private DateTime protectedDate;
+        [JsonProperty("protected_date"), JsonConverter(typeof(UnixDateTimeConverter))]
+        public DateTime ProtectedDate
+        {
+            get { return protectedDate; }
+            set { protectedDate = value; NotifyOfPropertyChange(() => ProtectedDate); }
+        }
+
+        private string body;
+        [JsonProperty("body")]
+        public string Body
+        {
+            get { return body; }
+            set { body = value; NotifyOfPropertyChange(() => Body); }
+        }
+
+        private string title;
         [JsonProperty("title")]
         public string Title
         {
             set { title = value; NotifyOfPropertyChange(() => Title); }
         }
 
-        /// <summary>
-        /// Gets or sets the <see cref="Question"/> body.
-        /// </summary>
-        /// <value>The <see cref="Question"/> body.</value>
-        [JsonProperty("body")]
-        public string Body
+        private List<string> tags = new List<string>();
+        [JsonProperty("tags")]
+        public List<string> Tags
         {
-            get { return body; }
-            set { body = value; NotifyOfPropertyChange(() => Body); }
+            get { return tags; }
+            set { tags = value; NotifyOfPropertyChange(() => Tags); }
         }
 
-        /// <summary>
-        /// Gets or sets the answer count.
-        /// </summary>
-        /// <value>The answer count.</value>
-        [JsonProperty("answer_count")]
-        public int AnswerCount
-        {
-            get { return answerCount; }
-            set { answerCount = value; NotifyOfPropertyChange(() => AnswerCount); }
-        }
-
-        /// <summary>
-        /// Gets or sets the creation date.
-        /// </summary>
-        /// <value>The creation date.</value>
-        [JsonProperty("creation_date"), JsonConverter(typeof(UnixDateTimeConverter))]
-        public DateTime CreationDate
-        {
-            get { return creationDate; }
-            set { creationDate = value; NotifyOfPropertyChange(() => CreationDate); }
-        }
-
-        /// <summary>
-        /// Gets or sets the last activity date.
-        /// </summary>
-        /// <value>The last activity date.</value>
-        [JsonProperty("last_activity_date"), JsonConverter(typeof(UnixDateTimeConverter))]
-        public DateTime LastActivityDate
-        {
-            get { return lastActivityDate; }
-            set { lastActivityDate = value; NotifyOfPropertyChange(() => LastActivityDate); }
-        }
-
-        /// <summary>
-        /// Gets or sets the last edit date.
-        /// </summary>
-        /// <value>The last edit date.</value>
-        [JsonProperty("last_edit_date"), JsonConverter(typeof(UnixDateTimeConverter))]
-        public DateTime LastEditDate
-        {
-            get { return lastEditDate; }
-            set { lastEditDate = value; NotifyOfPropertyChange(() => LastEditDate); }
-        }
-
-        /// <summary>
-        /// Gets or sets the locked date.
-        /// </summary>
-        /// <value>The locked date.</value>
-        [JsonProperty("locked_date"), JsonConverter(typeof(UnixDateTimeConverter))]
-        public DateTime LockedDate
-        {
-            get { return lockedDate; }
-            set { lockedDate = value; NotifyOfPropertyChange(() => LockedDate); }
-        }
-
-        /// <summary>
-        /// Gets or sets the closed date.
-        /// </summary>
-        /// <value>The closed date.</value>
-        [JsonProperty("closed_date"), JsonConverter(typeof(UnixDateTimeConverter))]
-        public DateTime ClosedDate
-        {
-            get { return closedDate; }
-            set { closedDate = value; NotifyOfPropertyChange(() => ClosedDate); }
-        }
-
-        /// <summary>
-        /// Gets or sets the closed reason.
-        /// </summary>
-        /// <value>The closed reason.</value>
+        private string closedReason;
         [JsonProperty("closed_reason")]
         public string ClosedReason
         {
             set { closedReason = value; NotifyOfPropertyChange(() => ClosedReason); }
         }
 
-        /// <summary>
-        /// Gets or sets up vote count.
-        /// </summary>
-        /// <value>Up vote count.</value>
+        private int upVoteCount;
         [JsonProperty("up_vote_count")]
         public int UpVoteCount
         {
             set { upVoteCount = value; NotifyOfPropertyChange(() => UpVoteCount); }
         }
 
-        /// <summary>
-        /// Gets or sets down vote count.
-        /// </summary>
-        /// <value>Down vote count.</value>
+        private int downVoteCount;
         [JsonProperty("down_vote_count")]
         public int DownVoteCount
         {
             set { downVoteCount = value; NotifyOfPropertyChange(() => DownVoteCount); }
         }
 
-        /// <summary>
-        /// Gets or sets the favorite count.
-        /// </summary>
-        /// <value>The favorite count.</value>
+        private int favoriteCount;
         [JsonProperty("favorite_count")]
         public int FavoriteCount
         {
             set { favoriteCount = value; NotifyOfPropertyChange(() => FavoriteCount); }
         }
 
-        /// <summary>
-        /// Gets or sets the view count.
-        /// </summary>
-        /// <value>The view count.</value>
+        private int viewCount;
         [JsonProperty("view_count")]
         public int ViewCount
         {
             set { viewCount = value; NotifyOfPropertyChange(() => ViewCount); }
         }
 
-        /// <summary>
-        /// Gets or sets the score.
-        /// </summary>
-        /// <value>The score.</value>
-        [JsonProperty("score")]
-        public int Score
-        {
-            get { return score; }
-            set { score = value; NotifyOfPropertyChange(() => Score); }
-        }
-
-        /// <summary>
-        /// Gets or sets a value indicating whether the <see cref="Question"/> is community owned.
-        /// </summary>
-        /// <value><c>true</c> if community owned; otherwise, <c>false</c>.</value>
-        [JsonProperty("community_owned")]
-        public bool CommunityOwned
-        {
-            get { return communityOwned; }
-            set { communityOwned = value; NotifyOfPropertyChange(() => CommunityOwned); }
-        }
-
-        /// <summary>
-        /// Gets or sets the accepted <see cref="Answer"/> id.
-        /// </summary>
-        /// <value>The accepted <see cref="Answer"/> id.</value>
-        [JsonProperty("accepted_answer_id")]
-        public int AcceptedAnswerId
-        {
-            get { return acceptedAnswerId; }
-            set { acceptedAnswerId = value; NotifyOfPropertyChange(() => AcceptedAnswerId); }
-        }
-
-        /// <summary>
-        /// Gets or sets the bounty amount.
-        /// </summary>
-        /// <value>The bounty amount.</value>
-        [JsonProperty("bounty_amount")]
-        public int BountyAmount
-        {
-            get { return bountyAmount; }
-            set { bountyAmount = value; NotifyOfPropertyChange(() => BountyAmount); }
-        }
-
-        /// <summary>
-        /// Gets or sets the timeline URL for this <see cref="Question"/>.
-        /// </summary>
-        /// <value>The timeline URL.</value>
-        [JsonProperty("question_timeline_url")]
-        public string TimelineUrl
-        {
-            get { return timelineUrl; }
-            set { timelineUrl = value; NotifyOfPropertyChange(() => TimelineUrl); }
-        }
-
-        /// <summary>
-        /// Gets or sets the <see cref="Comment">Comments</see> URL for this <see cref="Question"/>.
-        /// </summary>
-        /// <value>The <see cref="Comment">Comments</see> URL for this <see cref="Question"/>.</value>
-        [JsonProperty("question_comments_url")]
-        public string CommentsUrl
-        {
-            get { return commentsUrl; }
-            set { commentsUrl = value; NotifyOfPropertyChange(() => CommentsUrl); }
-        }
-
-        /// <summary>
-        /// Gets or sets the <see cref="MigrationInfo"/> for this <see cref="Question"/>.
-        /// </summary>
-        [JsonProperty("migrated")]
-        public MigrationInfo Migrated
-        {
-            get { return migrated; }
-            set { migrated = value; NotifyOfPropertyChange(() => Migrated); }
-        }
-
-        /// <summary>
-        /// Gets or sets the <see cref="ShallowUser">owner</see>.
-        /// </summary>
-        /// <value>The <see cref="ShallowUser">owner</see>.</value>
+        private ShallowUser owner;
+        [JsonProperty("owner")]
         public ShallowUser Owner
         {
             get { return owner; }
             set { owner = value; NotifyOfPropertyChange(() => Owner); }
         }
 
-        /// <summary>
-        /// Gets or sets the list of <see cref="Tag">tags</see>.
-        /// </summary>
-        /// <value>The list of <see cref="Tag">tags</see>.</value>
-        public List<string> Tags
+        private List<Comment> comments = new List<Comment>();
+        public List<Comment> Comments
         {
-            get { return tags; }
-            set { tags = value; NotifyOfPropertyChange(() => Tags); }
+            get { return comments; }
+            set { comments = value; NotifyOfPropertyChange(() => Comments); }
         }
 
-        /// <summary>
-        /// Gets or sets the list of <see cref="Answer">answers</see>.
-        /// </summary>
-        /// <value>The list of <see cref="Answer">answers</see>.</value>
+        private List<Answer> answers = new List<Answer>();
         public List<Answer> Answers
         {
             get { return answers; }
             set { answers = value; NotifyOfPropertyChange(() => Answers); }
         }
 
-        /// <summary>
-        /// Gets or sets the list of <see cref="Comment">comments</see>.
-        /// </summary>
-        /// <value>The list of <see cref="Comment">comments</see>.</value>
-        public List<Comment> Comments
+        private string link;
+        [JsonProperty("link")]
+        public string Link
         {
-            get { return comments; }
-            set { comments = value; NotifyOfPropertyChange(() => Comments); }
+            get { return link; }
+            set { link = value; NotifyOfPropertyChange(() => Link); }
+        }
+
+        private bool isAnswered;
+        [JsonProperty("is_answered")]
+        public bool IsAnswered
+        {
+            get { return isAnswered; }
+            set { isAnswered = value; NotifyOfPropertyChange(() => IsAnswered); }
         }
     }
 }

File trunk/source/Stacky/Entities/Revision.cs

     /// </summary>
     public class Revision : Entity
     {
-                private Guid revisionGuid;
+        private Guid revisionGuid;
         [JsonProperty("revision_guid")]
         public Guid RevisionGuid
         {

File trunk/source/Stacky/Entities/SuggestedEdit.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Newtonsoft.Json;
+
+namespace Stacky
+{
+    public class SuggestedEdit : Entity
+    {
+        private int id;
+        [JsonProperty("suggested_edit_id")]
+        public int Id
+        {
+            get { return id; }
+            set { id = value; NotifyOfPropertyChange(() => Id); }
+        }
+
+        private int postId;
+        [JsonProperty("post_id")]
+        public int PostId
+        {
+            get { return postId; }
+            set { postId = value; NotifyOfPropertyChange(() => PostId); }
+        }
+
+        private PostType postType;
+        [JsonProperty("post_type"), JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+        public PostType PostType
+        {
+            get { return postType; }
+            set { postType = value; NotifyOfPropertyChange(() => PostType); }
+        }
+
+        private string body;
+        [JsonProperty("body")]
+        public string Body
+        {
+            get { return body; }
+            set { body = value; NotifyOfPropertyChange(() => Body); }
+        }
+
+        private string title;
+        [JsonProperty("title")]
+        public string Title
+        {
+            get { return title; }
+            set { title = value; NotifyOfPropertyChange(() => Title); }
+        }
+
+        private List<string> tags = new List<string>();
+        [JsonProperty("tags")]
+        public List<string> Tags
+        {
+            get { return tags; }
+            set { tags = value; NotifyOfPropertyChange(() => Tags); }
+        }
+
+        private string comment;
+        [JsonProperty("comment")]
+        public string Comment
+        {
+            get { return comment; }
+            set { comment = value; NotifyOfPropertyChange(() => Comment); }
+        }
+
+        private DateTime creationDate;
+        [JsonProperty("creation_date"), JsonConverter(typeof(UnixDateTimeConverter))]
+        public DateTime CreationDate
+        {
+            get { return creationDate; }
+            set { creationDate = value; NotifyOfPropertyChange(() => CreationDate); }
+        }
+
+        private DateTime approvalDate;
+        [JsonProperty("approval_date"), JsonConverter(typeof(UnixDateTimeConverter))]
+        public DateTime ApprovalDate
+        {
+            get { return approvalDate; }
+            set { approvalDate = value; NotifyOfPropertyChange(() => ApprovalDate); }
+        }
+
+        private DateTime rejectionDate;
+        [JsonProperty("rejection_date"), JsonConverter(typeof(UnixDateTimeConverter))]
+        public DateTime RejectionDate
+        {
+            get { return rejectionDate; }
+            set { rejectionDate = value; NotifyOfPropertyChange(() => RejectionDate); }
+        }
+
+        private ShallowUser proposingUser;
+        [JsonProperty("proposing_user")]
+        public ShallowUser ProposingUser
+        {
+            get { return proposingUser; }
+            set { proposingUser = value; NotifyOfPropertyChange(() => ProposingUser); }
+        }
+    }
+}

File trunk/source/Stacky/Enums/QuestionSort.cs

     /// <summary>
     /// Specifies the sort order for questions.
     /// </summary>
-    /// activity (default), votes, creation, featured, hot, week, or month
     public enum QuestionSort
     {
-        /// <summary>
-        /// Activity.
-        /// </summary>
-        [SortArgs("activity")]
         Activity,
-        /// <summary>
-        /// Newest.
-        /// </summary>
-        [SortArgs("creation")]
+        Votes,
         Creation,
-        /// <summary>
-        /// Featured.
-        /// </summary>
-        [SortArgs("featured")]
-        Featured,
-        /// <summary>
-        /// Hot.
-        /// </summary>
-        [SortArgs("hot")]
         Hot,
-        /// <summary>
-        /// Week.
-        /// </summary>
-        [SortArgs("week")]
         Week,
-        /// <summary>
-        /// Month.
-        /// </summary>
-        [SortArgs("month")]
-        Month,
-        /// <summary>
-        /// Vote count.
-        /// </summary>
-        [SortArgs("votes")]
-        Votes,
-        /// <summary>
-        /// Unanswered.
-        /// </summary>
-        [SortArgs(null, "unanswered")]
-        Unanswered,
-        /// <summary>
-        /// Newest unanswered.
-        /// </summary>
-        [SortArgs("creation", "unanswered")]
-        UnansweredCreation,
-        /// <summary>
-        /// Unanswered vote count.
-        /// </summary>
-        [SortArgs("votes", "unanswered")]
-        UnansweredVotes
+        Month
     }
 }

File trunk/source/Stacky/Enums/SuggestedEditSort.cs

+namespace Stacky
+{
+    public enum SuggestedEditSort
+    {
+        Creation,
+        Approval,
+        Rejection
+    }
+}

File trunk/source/Stacky/Stacky.csproj

     <Compile Include="Entities\SiteStats.cs" />
     <Compile Include="Entities\SiteStyle.cs" />
     <Compile Include="Entities\SortArgsAttribute.cs" />
+    <Compile Include="Entities\SuggestedEdit.cs" />
     <Compile Include="Entities\Tag.cs" />
     <Compile Include="Entities\TagSynonym.cs" />
     <Compile Include="Entities\TagWiki.cs" />
     <Compile Include="Enums\SearchSort.cs" />
     <Compile Include="Enums\SiteState.cs" />
     <Compile Include="Enums\SortDirection.cs" />
+    <Compile Include="Enums\SuggestedEditSort.cs" />
     <Compile Include="Enums\TagSort.cs" />
     <Compile Include="Enums\TagSynonymSort.cs" />
     <Compile Include="Enums\TopUserPeriod.cs" />

File trunk/source/Stacky/StackyClient/PostMethods.cs

     {
         public IPagedList<Post> GetPosts(PostSort? sortBy = null, SortDirection? sortDirection = null, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, DateTime? min = null, DateTime? max = null, string filter = null)
         {
-            return Execute<Post, PostSort>("posts", null,
+            return Execute<Post>("posts", null,
                 sortBy, sortDirection, page, pageSize, fromDate, toDate, min, max, filter);
         }
 
         public IPagedList<Post> GetPosts(IEnumerable<int> ids, PostSort? sortBy = null, SortDirection? sortDirection = null, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, DateTime? min = null, DateTime? max = null, string filter = null)
         {
-            return Execute<Post, PostSort>("posts", new string[] { ids.Vectorize() },
+            return Execute<Post>("posts", new string[] { ids.Vectorize() },
                 sortBy, sortDirection, page, pageSize, fromDate, toDate, min, max, filter);
         }
 
 
         public IPagedList<Comment> GetPostComments(IEnumerable<int> ids, CommentSort? sortBy = null, SortDirection? sortDirection = null, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, DateTime? min = null, DateTime? max = null, string filter = null)
         {
-            return Execute<Comment, CommentSort>("posts", new string[] { ids.Vectorize(), "comments" },
+            return Execute<Comment>("posts", new string[] { ids.Vectorize(), "comments" },
                 sortBy, sortDirection, page, pageSize, fromDate, toDate, min, max, filter);
         }
 
-        public Revision GetPostRevision(int id, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, string filter = null)
+        public IPagedList<Revision> GetPostRevisions(int id, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, string filter = null)
         {
-            return GetPostRevision(id.ToArray(), page, pageSize, fromDate, toDate, filter).FirstOrDefault();
+            return GetPostRevisions(id.ToArray(), page, pageSize, fromDate, toDate, filter);
         }
 
-        public IPagedList<Revision> GetPostRevision(IEnumerable<int> ids, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, string filter = null)
+        public IPagedList<Revision> GetPostRevisions(IEnumerable<int> ids, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, string filter = null)
         {
-            return Execute<Revision, CommentSort>("posts", new string[] { ids.Vectorize(), "revisions" },
+            return Execute<Revision>("posts", new string[] { ids.Vectorize(), "revisions" },
+                null, null, page, pageSize, fromDate, toDate, null, null, filter);
+        }
+
+        public IPagedList<SuggestedEdit> GetPostSuggestedEdits(int id, SuggestedEditSort? sortBy = null, SortDirection? sortDirection = null, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, string filter = null)
+        {
+            return GetPostSuggestedEdits(id.ToArray(), sortBy, sortDirection, page, pageSize, fromDate, toDate, filter);
+        }
+
+        public IPagedList<SuggestedEdit> GetPostSuggestedEdits(IEnumerable<int> ids, SuggestedEditSort? sortBy = null, SortDirection? sortDirection = null, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, string filter = null)
+        {
+            return Execute<SuggestedEdit>("posts", new string[] { ids.Vectorize(), "suggested-edits" },
                 null, null, page, pageSize, fromDate, toDate, null, null, filter);
         }
     }

File trunk/source/Stacky/StackyClient/PrivilegeMethods.cs

         /// Get a list of all the Privileges
         /// </summary>
         /// <returns></returns>
-        public IEnumerable<Privilege> GetPrivileges()
+        public IPagedList<Privilege> GetPrivileges()
         {
-            return MakeRequest<Privilege>("privileges", null, new
+            var response = MakeRequest<Privilege>("privileges", null, new
             {
                 site = this.SiteUrlName
-            }).Items;
+            });
+            return new PagedList<Privilege>(response);
         }
     }
 }

File trunk/source/Stacky/StackyClient/QuestionMethods.cs

 {
     public partial class StackyClient
     {
-        public virtual IPagedList<Question> GetQuestions(QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int? page = null, int? pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime? fromDate = null, DateTime? toDate = null, int? min = null, int? max = null, string[] tags = null)
+        public IPagedList<Question> GetQuestions(QuestionSort? sortBy = null, SortDirection? sortDirection = null, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, DateTime? min = null, DateTime? max = null, string filter = null)
         {
-            var sortArgs = sortBy.GetAttribute<SortArgsAttribute>();
-            return GetQuestions("questions", sortArgs.UrlArgs, sortArgs.Sort, GetSortDirection(sortDirection), page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max, tags);
+            return Execute<Question>("questions", null,
+                sortBy, sortDirection, page, pageSize, fromDate, toDate, min, max, filter);
         }
 
-        public virtual IPagedList<Question> GetQuestionsByUser(int userId, QuestionsByUserSort sortBy = QuestionsByUserSort.Activity, SortDirection sortDirection = SortDirection.Descending, int? page = null, int? pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime? fromDate = null, DateTime? toDate = null, int? min = null, int? max = null, string[] tags = null)
+        public Question GetQuestion(int id, QuestionSort? sortBy = null, SortDirection? sortDirection = null, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, DateTime? min = null, DateTime? max = null, string filter = null)
         {
-            return GetQuestions("users", new string[] { userId.ToString(), "questions" }, sortBy.ToString().ToLower(), GetSortDirection(sortDirection), page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max, tags);
+            return GetQuestions(id.ToArray(), sortBy, sortDirection, page, pageSize, fromDate, toDate, min, max, filter).FirstOrDefault();
         }
 
-        public virtual IPagedList<Question> GetFavoriteQuestions(int userId, FavoriteQuestionsSort sortBy = FavoriteQuestionsSort.Activity, SortDirection sortDirection = SortDirection.Descending, int? page = null, int? pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime? fromDate = null, DateTime? toDate = null, int? min = null, int? max = null, string[] tags = null)
+        public IPagedList<Question> GetQuestions(IEnumerable<int> ids, QuestionSort? sortBy = null, SortDirection? sortDirection = null, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, DateTime? min = null, DateTime? max = null, string filter = null)
         {
-            return GetQuestions("users", new string[] { userId.ToString(), "favorites" }, sortBy.ToString().ToLower(), GetSortDirection(sortDirection), page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max, tags);
-        }
-
-        private IPagedList<Question> GetQuestions(string method, string[] urlArguments, string sort, string sortDirection, int? page, int? pageSize, bool includeBody, bool includeComments, bool includeAnswers, DateTime? fromDate, DateTime? toDate, int? min = null, int? max = null, params string[] tags)
-        {
-            var response = MakeRequest<Question>(method, urlArguments, new
-            {
-                site = this.SiteUrlName,
-                page = page ?? null,
-                pagesize = pageSize ?? null,
-                body = includeBody ? (bool?)true : null,
-                comments = includeComments ? (bool?)true : null,
-                answers = includeAnswers ? (bool?)true : null,
-                fromdate = fromDate.HasValue ? (long?)fromDate.Value.ToUnixTime() : null,
-                todate = toDate.HasValue ? (long?)toDate.Value.ToUnixTime() : null,
-                tagged = tags == null ? (string)null : String.Join(";", tags),
-                sort = sort,
-                order = sortDirection,
-                min = min ?? null,
-                max = max ?? null
-            });
-            return new PagedList<Question>(response);
-        }
-
-        public virtual IPagedList<Question> GetQuestions(IEnumerable<int> questionIds, int? page = null, int? pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime? fromDate = null, DateTime? toDate = null, int? min = null, int? max = null, string[] tags = null)
-        {
-            var response = MakeRequest<Question>("questions", new string[] { questionIds.Vectorize() }, new
-            {
-                site = this.SiteUrlName,
-                body = includeBody ? (bool?)true : null,
-                comments = includeComments ? (bool?)true : null,
-                answers = includeAnswers ? (bool?)true : null,
-                page = page ?? null,
-                pagesize = pageSize ?? null,
-                fromdate = fromDate.HasValue ? (long?)fromDate.Value.ToUnixTime() : null,
-                todate = toDate.HasValue ? (long?)toDate.Value.ToUnixTime() : null,
-                min = min ?? null,
-                max = max ?? null
-            });
-            return new PagedList<Question>(response);
-        }
-
-        public virtual Question GetQuestion(int questionId, bool includeBody = false, bool includeComments = false, bool includeAnswers = false)
-        {
-            return GetQuestions(questionId.ToArray(), includeBody: includeBody, includeComments: includeComments, includeAnswers: includeAnswers).FirstOrDefault();
-        }
-
-        public virtual IPagedList<PostEvent> GetQuestionTimeline(IEnumerable<int> questionIds, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null)
-        {
-            var response = MakeRequest<PostEvent>("questions", new string[] { questionIds.Vectorize(), "timeline" }, new
-            {
-                site = this.SiteUrlName,
-                fromdate = fromDate.HasValue ? (long?)fromDate.Value.ToUnixTime() : null,
-                todate = toDate.HasValue ? (long?)toDate.Value.ToUnixTime() : null,
-                page = page ?? null,
-                pagesize = pageSize ?? null
-            });
-            return new PagedList<PostEvent>(response);
-        }
-
-        public virtual IPagedList<PostEvent> GetQuestionTimeline(int questionId, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null)
-        {
-            return GetQuestionTimeline(questionId.ToArray(), page, pageSize, fromDate, toDate);
-        }
-
-        public virtual IPagedList<Question> Search(string inTitle = null, IEnumerable<string> tagged = null, IEnumerable<string> notTagged = null, SearchSort sortBy = SearchSort.Activity, SortDirection sortDirection = SortDirection.Descending, int? page = null, int? pageSize = null)
-        {
-            string taggedString = null;
-            if (tagged != null)
-                taggedString = String.Join(";", tagged);
-
-            string notTaggedString = null;
-            if (notTagged != null)
-                notTaggedString = String.Join(";", notTagged);
-
-            var response = MakeRequest<Question>("search", null, new
-            {
-                site = this.SiteUrlName,
-                intitle = inTitle,
-                tagged = taggedString,
-                nottagged = notTaggedString,
-                sort = sortBy,
-                order = GetSortDirection(sortDirection),
-                page = page ?? null,
-                pagesize = pageSize ?? null
-            });
-            return new PagedList<Question>(response);
-        }
-
-        public virtual IPagedList<Question> GetLinkedQuestions(int questionId, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int? page = null, int? pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime? fromDate = null, DateTime? toDate = null, int? min = null, int? max = null)
-        {
-            return GetLinkedQuestions(questionId.ToArray(), sortBy, sortDirection, page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max);
-        }
-
-        public virtual IPagedList<Question> GetLinkedQuestions(IEnumerable<int> questionIds, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int? page = null, int? pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime? fromDate = null, DateTime? toDate = null, int? min = null, int? max = null)
-        {
-            return GetQuestions("questions", new string[] { questionIds.Vectorize(), "linked" }, sortBy.ToString(), GetSortDirection(sortDirection), page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max, null);
-        }
-
-        public virtual IPagedList<Question> GetRelatedQuestions(int questionId, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int? page = null, int? pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime? fromDate = null, DateTime? toDate = null, int? min = null, int? max = null)
-        {
-            return GetRelatedQuestions(questionId.ToArray(), sortBy, sortDirection, page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max);
-        }
-
-        public virtual IPagedList<Question> GetRelatedQuestions(IEnumerable<int> questionIds, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int? page = null, int? pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime? fromDate = null, DateTime? toDate = null, int? min = null, int? max = null)
-        {
-            return GetQuestions("questions", new string[] { questionIds.Vectorize(), "related" }, sortBy.ToString(), GetSortDirection(sortDirection), page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max, null);
-        }
-
-        public virtual IPagedList<Question> GetNoAnswerQuestions(QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int? page = null, int? pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime? fromDate = null, DateTime? toDate = null, int? min = null, int? max = null)
-        {
-            return GetQuestions("questions", new string[] { "no-answers" }, sortBy.ToString(), GetSortDirection(sortDirection), page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max, null);
-        }
-
-        public virtual IEnumerable<Question> GetSimilarQuestions(string title, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, IEnumerable<string> tagged = null, IEnumerable<string> notTagged = null)
-        {
-            string taggedString = null;
-            if (tagged != null)
-                taggedString = String.Join(";", tagged);
-
-            string notTaggedString = null;
-            if (notTagged != null)
-                notTaggedString = String.Join(";", notTagged);
-
-            return MakeRequest<Question>("similar", null, new
-            {
-                site = this.SiteUrlName,
-                title = title,
-                body = includeBody ? (bool?)true : null,
-                comments = includeComments ? (bool?)true : null,
-                answers = includeAnswers ? (bool?)true : null,
-                tagged = taggedString,
-                nottagged = notTaggedString
-            }).Items;
+            return Execute<Question>("questions", new string[] { ids.Vectorize() },
+                sortBy, sortDirection, page, pageSize, fromDate, toDate, min, max, filter);
         }
     }
 }

File trunk/source/Stacky/StackyClient/StackyClient.cs

             return new PagedList<TEntity>(response);
         }
 
-        protected IPagedList<TEntity> Execute<TEntity, TSort>(string methodName, string[] urlArguments, TSort? sortBy = null, SortDirection? sortDirection = null, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, DateTime? min = null, DateTime? max = null, string filter = null)
+        protected IPagedList<TEntity> Execute<TEntity>(string methodName, string[] urlArguments, object sortBy = null, SortDirection? sortDirection = null, int? page = null, int? pageSize = null, DateTime? fromDate = null, DateTime? toDate = null, DateTime? min = null, DateTime? max = null, string filter = null)
             where TEntity : Entity, new()
-            where TSort : struct
         {
             var response = MakeRequest<TEntity>(methodName, urlArguments, new
             {

File trunk/source/Tests/Stacky.IntegrationTests/PostTests.cs

         {
             var posts = Client.GetPosts();
             Assert.IsNotNull(posts);
+            Assert.IsTrue(posts.Count > 0);
         }
 
         [TestMethod]
             Assert.IsNotNull(post);
             Assert.AreEqual(id, post.PostId);
         }
+
+        [TestMethod]
+        public void GetPostRevisions()
+        {
+            var revisions = Client.GetPostRevisions(11);
+            Assert.IsNotNull(11);
+            Assert.IsTrue(revisions.Count > 0);
+        }
+
+        [TestMethod]
+        public void GetPostSuggestedEdits()
+        {
+            var edits = Client.GetPostSuggestedEdits(8468297);
+            Assert.IsNotNull(edits);
+            Assert.IsTrue(edits.Count > 0);
+        }
     }
 }

File trunk/source/Tests/Stacky.IntegrationTests/QuestionTests.cs

         {
             var questions = Client.GetQuestions();
             Assert.IsNotNull(questions);
+            Assert.IsTrue(questions.Count > 0);
         }
 
         [TestMethod]
             Assert.AreEqual(5, questions.Count());
         }
 
-        [TestMethod]
-        public void GetQuestions_SortByActive_WithTags()
-        {
-            var questions = Client.GetQuestions(sortBy: QuestionSort.Activity, tags: new string[] { "lisp" });
-            foreach (var question in questions)
-            {
-                Assert.IsTrue(question.Tags.Contains("lisp"));
-            }
+        //[TestMethod]
+        //public void GetQuestions_SortByActive_WithTags()
+        //{
+        //    var questions = Client.GetQuestions(sortBy: QuestionSort.Activity, tags: new string[] { "lisp" });
+        //    foreach (var question in questions)
+        //    {
+        //        Assert.IsTrue(question.Tags.Contains("lisp"));
+        //    }
 
-            Assert.IsNotNull(questions);
-            Assert.AreEqual(30, questions.Count());
-        }
+        //    Assert.IsNotNull(questions);
+        //    Assert.AreEqual(30, questions.Count());
+        //}
 
         [TestMethod]
         public void GetQuestions_SortByActive_WithDateRange()
             Assert.AreEqual(30, questions.Count());
         }
 
-        [TestMethod]
-        public void GetQuestions_SortByActive_WithBody()
-        {
-            var questions = Client.GetQuestions(sortBy: QuestionSort.Activity, includeBody: true);
+        //[TestMethod]
+        //public void GetQuestions_SortByActive_WithBody()
+        //{
+        //    var questions = Client.GetQuestions(sortBy: QuestionSort.Activity, includeBody: true);
 
-            foreach (var question in questions)
-            {
-                Assert.IsFalse(String.IsNullOrEmpty(question.Body));
-            }
+        //    foreach (var question in questions)
+        //    {
+        //        Assert.IsFalse(String.IsNullOrEmpty(question.Body));
+        //    }
 
-            Assert.IsNotNull(questions);
-            Assert.AreEqual(30, questions.Count());
-        }
+        //    Assert.IsNotNull(questions);
+        //    Assert.AreEqual(30, questions.Count());
+        //}
 
         #endregion
 
-        [TestMethod]
-        public void Question_Contains_Urls()
-        {
-            var question = Client.GetQuestion(31415);
+       
+        //[TestMethod]
+        //public void Question_GetQuestionTimeline()
+        //{
+        //    var events = Client.GetQuestionTimeline(31415);
 
-            Assert.IsNotNull(question);
-            Assert.IsFalse(String.IsNullOrEmpty(question.CommentsUrl));
-            Assert.IsFalse(String.IsNullOrEmpty(question.TimelineUrl));
-        }
-
-        [TestMethod]
-        public void Question_GetQuestionTimeline()
-        {
-            var events = Client.GetQuestionTimeline(31415);
-
-            Assert.IsNotNull(events);
-        }
+        //    Assert.IsNotNull(events);
+        //}
 
         [TestMethod]
         public void Question_GetQuestionTimeline_Async()
             ClientAsync.GetQuestionTimeline(31415, events => Assert.IsNotNull(events), error => Assert.Fail());
         }
 
-        [TestMethod]
-        public void Question_Search()
-        {
-            var questions = Client.Search("Thread");
-            Assert.IsNotNull(questions);
-        }
+        //[TestMethod]
+        //public void Question_Search()
+        //{
+        //    var questions = Client.Search("Thread");
+        //    Assert.IsNotNull(questions);
+        //}
 
         [TestMethod]
         public void Question_Search_Async()
             Assert.IsTrue(questions.TotalItems > 0);
         }
 
-        [TestMethod]
-        public void Question_GetQuestion_ContainsOwner()
-        {
-            var question = Client.GetQuestion(2930182);
-            Assert.IsNotNull(question);
-            Assert.IsNotNull(question.Owner);
-            Assert.IsNotNull(question.Owner.Id);
-        }
+        //[TestMethod]
+        //public void Question_GetQuestion_ContainsOwner()
+        //{
+        //    var question = Client.GetQuestion(2930182);
+        //    Assert.IsNotNull(question);
+        //    Assert.IsNotNull(question.Owner);
+        //    Assert.IsNotNull(question.Owner.Id);
+        //}
 
-        [TestMethod]
-        public void MigratedQuestion_CanDeserialize()
-        {
-            var question = Client.GetQuestion(970696);
-            Assert.IsNotNull(question);
-            Assert.IsNotNull(question.Migrated);
-            Assert.IsNotNull(question.Migrated.ToSite);
-        }
+        //[TestMethod]
+        //public void MigratedQuestion_CanDeserialize()
+        //{
+        //    var question = Client.GetQuestion(970696);
+        //    Assert.IsNotNull(question);
+        //    Assert.IsNotNull(question.Migrated);
+        //    Assert.IsNotNull(question.Migrated.ToSite);
+        //}
 
-        [TestMethod]
-        public void Bug4_GetQuestionTimeline()
-        {
-            IPagedList<Question> questions = Client.GetQuestionsByUser(16587);
-            var editedQuestionIds = from q in questions
-                                    select Convert.ToInt32(q.Id);
-            var events = Client.GetQuestionTimeline(editedQuestionIds); //line that causes problems
-            Assert.IsNotNull(events);
-        }
+        //[TestMethod]
+        //public void Bug4_GetQuestionTimeline()
+        //{
+        //    IPagedList<Question> questions = Client.GetQuestionsByUser(16587);
+        //    var editedQuestionIds = from q in questions
+        //                            select Convert.ToInt32(q.Id);
+        //    var events = Client.GetQuestionTimeline(editedQuestionIds); //line that causes problems
+        //    Assert.IsNotNull(events);
+        //}
 
-        [TestMethod]
-        public void Question_GetLinkedQuestions()
-        {
-            var questions = Client.GetLinkedQuestions(12569);
-            Assert.IsNotNull(questions);
-        }
+        //[TestMethod]
+        //public void Question_GetLinkedQuestions()
+        //{
+        //    var questions = Client.GetLinkedQuestions(12569);
+        //    Assert.IsNotNull(questions);
+        //}
 
-        [TestMethod]
-        public void Question_GetRelatedQuestions()
-        {
-            var questions = Client.GetRelatedQuestions(12569);
-            Assert.IsNotNull(questions);
-        }
+        //[TestMethod]
+        //public void Question_GetRelatedQuestions()
+        //{
+        //    var questions = Client.GetRelatedQuestions(12569);
+        //    Assert.IsNotNull(questions);
+        //}
 
-        [TestMethod]
-        public void Question_GetNoAnswerQuestions()
-        {
-            var questions = Client.GetNoAnswerQuestions();
-            Assert.IsNotNull(questions);
-        }
+        //[TestMethod]
+        //public void Question_GetNoAnswerQuestions()
+        //{
+        //    var questions = Client.GetNoAnswerQuestions();
+        //    Assert.IsNotNull(questions);
+        //}
 
-        [TestMethod]
-        public void Question_GetSimilarQuestions()
-        {
-            var questions = Client.GetSimilarQuestions("How to for loop c#?");
-            Assert.IsNotNull(questions);
-        }
+        //[TestMethod]
+        //public void Question_GetSimilarQuestions()
+        //{
+        //    var questions = Client.GetSimilarQuestions("How to for loop c#?");
+        //    Assert.IsNotNull(questions);
+        //}
     }
 }

File trunk/source/Tests/Stacky.Net35.IntegrationTests/QuestionTests.cs

         }
 
         [TestMethod]
-        public void Question_Contains_Urls()
-        {
-            var question = Client.GetQuestion(31415);
-
-            Assert.IsNotNull(question);
-            Assert.IsFalse(String.IsNullOrEmpty(question.CommentsUrl));
-            Assert.IsFalse(String.IsNullOrEmpty(question.TimelineUrl));
-        }
-
-        [TestMethod]
         public void Question_GetQuestionTimeline()
         {
             var events = Client.GetQuestionTimeline(31415);
         {
             var question = Client.GetQuestion(970696);
             Assert.IsNotNull(question);
-            Assert.IsNotNull(question.Migrated);
-            Assert.IsNotNull(question.Migrated.ToSite);
+            Assert.IsNotNull(question.MigratedFrom);
+            Assert.IsNotNull(question.MigratedTo);
         }
 
         [TestMethod]