From 3d7b00f25c3637219ef0e656de39ba4c19b0e42d Mon Sep 17 00:00:00 2001 From: ceee Date: Sat, 15 Jun 2013 14:36:06 +0200 Subject: [PATCH] don't know if this new parameter shit is user-friendly :-/ --- PocketSharp.Console/Program.cs | 6 +- PocketSharp/Components/Retrieve.cs | 17 ++++-- .../Models/Parameters/ParameterBase.cs | 21 +++++++ .../Models/Parameters/RetrieveParameters.cs | 60 +++++++++++++++++++ PocketSharp/PocketSharp.csproj | 2 + 5 files changed, 101 insertions(+), 5 deletions(-) create mode 100644 PocketSharp/Models/Parameters/ParameterBase.cs create mode 100644 PocketSharp/Models/Parameters/RetrieveParameters.cs diff --git a/PocketSharp.Console/Program.cs b/PocketSharp.Console/Program.cs index 0316273..ac02d47 100644 --- a/PocketSharp.Console/Program.cs +++ b/PocketSharp.Console/Program.cs @@ -1,6 +1,7 @@ using System; using PocketSharp; using PocketSharp.Models.Authentification; +using PocketSharp.Models.Parameters; namespace PocketSharp.Console { @@ -16,7 +17,10 @@ namespace PocketSharp.Console PocketClient client = new PocketClient("15396-f6f92101d72c8e270a6c9bb3"); client.AccessCode = "a85134a7-243c-6656-ab82-97c901"; - client.Retrieve(); + client.Retrieve(new RetrieveParameters() + { + Favorite = true + }); System.Console.ReadKey(); } diff --git a/PocketSharp/Components/Retrieve.cs b/PocketSharp/Components/Retrieve.cs index 05f6317..62b185d 100644 --- a/PocketSharp/Components/Retrieve.cs +++ b/PocketSharp/Components/Retrieve.cs @@ -4,19 +4,28 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; +using PocketSharp.Models.Parameters; namespace PocketSharp { public partial class PocketClient { - public bool Retrieve() + public bool Retrieve(RetrieveParameters para) { - var parameters = new List() + //var parameters = new List() + //{ + // new Parameter { Name = "favorite", Value = "1", Type = ParameterType.GetOrPost } + //}; + + var parameters = new RetrieveParameters() { - new Parameter { Name = "favorite", Value = "1", Type = ParameterType.GetOrPost } + Favorite = true, + State = StateEnum.all }; - Retrieve result = GetResource("get", parameters); + var paramss = parameters.Convert(); + + Retrieve result = GetResource("get", parameters.Convert()); return true; } diff --git a/PocketSharp/Models/Parameters/ParameterBase.cs b/PocketSharp/Models/Parameters/ParameterBase.cs new file mode 100644 index 0000000..9996327 --- /dev/null +++ b/PocketSharp/Models/Parameters/ParameterBase.cs @@ -0,0 +1,21 @@ +using RestSharp; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace PocketSharp.Models.Parameters +{ + public abstract class ParameterBase + { + protected Parameter CreateParam(string name, object value, ParameterType type = ParameterType.GetOrPost) + { + return new Parameter() + { + Name = name, + Value = value, + Type = type + }; + } + } +} diff --git a/PocketSharp/Models/Parameters/RetrieveParameters.cs b/PocketSharp/Models/Parameters/RetrieveParameters.cs new file mode 100644 index 0000000..2183625 --- /dev/null +++ b/PocketSharp/Models/Parameters/RetrieveParameters.cs @@ -0,0 +1,60 @@ +using RestSharp; +using System; +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace PocketSharp.Models.Parameters +{ + public class RetrieveParameters : ParameterBase + { + public StateEnum? State { get; set; } + + public bool? Favorite { get; set; } + + public string Tag { get; set; } + + public ContentTypeEnum? ContentType { get; set; } + + public SortEnum? Sort { get; set; } + + + public List Convert() + { + List parameters = new List(); + + if(State != null) + { + parameters.Add(CreateParam("state", State.ToString())); + } + if(Favorite != null) + { + parameters.Add(CreateParam("favorite", (bool)Favorite ? "1" : "0")); + } + + return parameters; + } + } + + + public enum StateEnum + { + unread, + archive, + all + } + + public enum SortEnum + { + newest, + oldest, + title, + site + } + + public enum ContentTypeEnum + { + article, + video, + image + } +} diff --git a/PocketSharp/PocketSharp.csproj b/PocketSharp/PocketSharp.csproj index c1c8c67..1f78d05 100644 --- a/PocketSharp/PocketSharp.csproj +++ b/PocketSharp/PocketSharp.csproj @@ -52,6 +52,8 @@ + +