From 2a98cfb0e47f9a02b30a46f122ac6d23469f72de Mon Sep 17 00:00:00 2001 From: ScottIsAFool Date: Fri, 25 Oct 2013 15:49:47 +0100 Subject: [PATCH] Added new method to return username too --- PocketSharp/Components/Account.cs | 56 +++++++++++-------- .../{Response/AccessCode.cs => PocketUser.cs} | 7 ++- PocketSharp/PocketSharp.csproj | 2 +- PortablePorts/SgmlReader/SgmlReader.csproj | 2 +- 4 files changed, 40 insertions(+), 27 deletions(-) rename PocketSharp/Models/{Response/AccessCode.cs => PocketUser.cs} (81%) diff --git a/PocketSharp/Components/Account.cs b/PocketSharp/Components/Account.cs index facfac7..ecbc828 100644 --- a/PocketSharp/Components/Account.cs +++ b/PocketSharp/Components/Account.cs @@ -73,30 +73,42 @@ namespace PocketSharp /// public async Task GetAccessCode(string requestCode = null) { - // check if request code is available - if(RequestCode == null && requestCode == null) - { - throw new NullReferenceException("Call GetRequestCode() first to receive a request_code"); - } - - // override property with given param if available - if(requestCode != null) - { - RequestCode = requestCode; - } - - // do request - AccessCode response = await Request("oauth/authorize", new Dictionary() - { - { "code", RequestCode } - }, false); - - // save code to client - AccessCode = response.Code; - - return AccessCode; + await GetUser(requestCode); + return AccessCode; } + /// + /// Gets the user. + /// + /// The request code. + /// The authenticated user + /// Call GetRequestCode() first to receive a request_code + public async Task GetUser(string requestCode = null) + { + // check if request code is available + if (RequestCode == null && requestCode == null) + { + throw new NullReferenceException("Call GetRequestCode() first to receive a request_code"); + } + + // override property with given param if available + if (requestCode != null) + { + RequestCode = requestCode; + } + + // do request + PocketUser response = await Request("oauth/authorize", new Dictionary() + { + {"code", RequestCode} + }, false); + + // save code to client + AccessCode = response.Code; + + return response; + } + /// /// Registers a new account. diff --git a/PocketSharp/Models/Response/AccessCode.cs b/PocketSharp/Models/PocketUser.cs similarity index 81% rename from PocketSharp/Models/Response/AccessCode.cs rename to PocketSharp/Models/PocketUser.cs index 7f052d8..e72cd40 100644 --- a/PocketSharp/Models/Response/AccessCode.cs +++ b/PocketSharp/Models/PocketUser.cs @@ -1,5 +1,5 @@ using Newtonsoft.Json; -using System.Runtime.Serialization; +using PropertyChanged; namespace PocketSharp.Models { @@ -7,7 +7,8 @@ namespace PocketSharp.Models /// Access Code /// [JsonObject] - internal class AccessCode + [ImplementPropertyChanged] + public class PocketUser { /// /// Gets or sets the code. @@ -24,7 +25,7 @@ namespace PocketSharp.Models /// /// The username. /// - [JsonProperty] + [JsonProperty("username")] public string Username { get; set; } } } diff --git a/PocketSharp/PocketSharp.csproj b/PocketSharp/PocketSharp.csproj index ab804b0..b2d9e6d 100644 --- a/PocketSharp/PocketSharp.csproj +++ b/PocketSharp/PocketSharp.csproj @@ -62,7 +62,7 @@ - + diff --git a/PortablePorts/SgmlReader/SgmlReader.csproj b/PortablePorts/SgmlReader/SgmlReader.csproj index 817770e..fd9ce7e 100644 --- a/PortablePorts/SgmlReader/SgmlReader.csproj +++ b/PortablePorts/SgmlReader/SgmlReader.csproj @@ -20,7 +20,7 @@ full false bin\Debug\ - DEBUG;TRACE + TRACE;DEBUG;PORTABLE prompt 4