BaconographyPortable.Model.Reddit.RedditService.Login C# (CSharp) Method

Login() public method

public Login ( string username, string password ) : Task
username string
password string
return Task
        public async Task<User> Login(string username, string password)
        {
            var loginUri = "https://ssl.reddit.com/api/login";
            var postContent = new Dictionary<string, string>
                {
                    { "api_type", "json" },
                    { "user", username },
                    { "passwd", password }
                };

            var loginResult = await _simpleHttpService.SendPostForCookies(postContent, loginUri);

            var jsonResult = loginResult.Item1;
            var loginResultThing = JsonConvert.DeserializeObject<LoginJsonThing>(jsonResult);
			if (loginResultThing == null || loginResultThing.Json == null ||
                (loginResultThing.Json.Errors != null && loginResultThing.Json.Errors.Length != 0))
            {
                _notificationService.CreateNotification(string.Format("Failed to login as User:{0}", username));
                return null; //errors in the login process
            }
            else
            {
                var loginCookie = loginResult.Item2["reddit_session"];
                var user = new User { Authenticated = true, LoginCookie = loginCookie, Username = username, NeedsCaptcha = false };

                user.Me = await GetMe(user);
                return user;
            }

        }