Exemplo n.º 1
0
        /// <summary>
        /// Gets the current <see cref="ParseSession"/> object related to the current user.
        /// </summary>
        /// <param name="cancellationToken">The cancellation token</param>
        public static Task <ParseSession> GetCurrentSessionAsync(CancellationToken cancellationToken)
        {
            return(ParseUser.GetCurrentUserAsync().OnSuccess(t1 => {
                ParseUser user = t1.Result;
                if (user == null)
                {
                    return Task <ParseSession> .FromResult((ParseSession)null);
                }

                string sessionToken = user.SessionToken;
                if (sessionToken == null)
                {
                    return Task <ParseSession> .FromResult((ParseSession)null);
                }

                return SessionController.GetSessionAsync(sessionToken, cancellationToken).OnSuccess(t => {
                    ParseSession session = ParseObject.FromState <ParseSession>(t.Result, "_Session");
                    return session;
                });
            }).Unwrap());
        }
        /// <summary>
        /// Gets the current <see cref="ParseSession"/> object related to the current user.
        /// </summary>
        /// <param name="cancellationToken">The cancellation token</param>
        public static Task <ParseSession> GetCurrentSessionAsync(CancellationToken cancellationToken)
        {
            return(ParseUser.GetCurrentUserAsync().OnSuccess(t1 => {
                ParseUser user = t1.Result;
                if (user == null)
                {
                    return Task <ParseSession> .FromResult((ParseSession)null);
                }

                string sessionToken = user.SessionToken;
                if (sessionToken == null)
                {
                    return Task <ParseSession> .FromResult((ParseSession)null);
                }

                return SessionController.GetSessionAsync(sessionToken, cancellationToken).OnSuccess(t => {
                    ParseSession session = (ParseSession)ParseObject.CreateWithoutData <ParseSession>(null);
                    session.HandleFetchResult(t.Result);
                    return session;
                });
            }).Unwrap());
        }