BaconographyW8.PlatformServices.UserService.LoginWithCredentials C# (CSharp) Method

LoginWithCredentials() private method

private LoginWithCredentials ( UserCredential credential ) : Task
credential BaconographyPortable.Model.Reddit.UserCredential
return Task
        private async Task<User> LoginWithCredentials(UserCredential credential)
        {
            if (await _redditService.CheckLogin(credential.LoginCookie))
            {
                var loggedInUser = new User { Username = credential.Username, LoginCookie = credential.LoginCookie, NeedsCaptcha = false };
                loggedInUser.Me = await _redditService.GetMe(loggedInUser);
                return loggedInUser;
            }
            else
            {
                //we dont currently posses a valid login cookie, see if windows has a stored credential we can use for this username
                var passwordVault = new Windows.Security.Credentials.PasswordVault();
                try
                {
                    var windowsCredentials = passwordVault.FindAllByResource("Baconography");
                    var matchingWindowsCredential = windowsCredentials.FirstOrDefault(windowsCredential => string.Compare(windowsCredential.UserName, credential.Username, StringComparison.CurrentCultureIgnoreCase) == 0);
                    if (matchingWindowsCredential != null)
                    {
                        matchingWindowsCredential.RetrievePassword();
                        return await _redditService.Login(matchingWindowsCredential.UserName, matchingWindowsCredential.Password);
                    }
                }
                catch
                {
                }
            }
            return null;
        }