public async Task <User> LogIn(string email, string password) { var parseUser = await ParseUser.LogInAsync(email, password) .ContinueWith(t => { if (t.IsFaulted) { var handled = ParseErrorHandler.HandleParseError(t.Exception.InnerException as ParseException); if (!handled) { throw t.Exception.InnerException; } } _notificationCenter.Send(NotificationKeys.CurrentUserChanged, _currentUser); return(t.Result); }); await AssociateInstallationWithUser(); return(new User { Id = parseUser.ObjectId, Fullname = parseUser["fullname"] as string, Email = parseUser.Username, }); }
public Task SignUp(string fullname, string email, string password) { var user = new ApParseUser { Email = email, Username = email, Password = password, Fullname = fullname, }; return(user.SignUpAsync() .ContinueWith(async t => { if (t.IsCanceled) { throw new TaskCanceledException(); } if (t.IsFaulted) { var handled = ParseErrorHandler.HandleParseError(t.Exception.InnerException as ParseException); if (!handled) { throw t.Exception.InnerException; } } _notificationCenter.Send(NotificationKeys.CurrentUserChanged, _currentUser); await AssociateInstallationWithUser(); }).Unwrap()); }
void OnError(string msg) { ParseErrorHandler eh = events [errorEvent] as ParseErrorHandler; if (eh != null) { eh(this, msg); } }
public async Task <IList <Session> > GetSessions() { var sessions = (await ParseSession.Query .WhereEqualTo("user", ParseUser.CurrentUser) .FindAsync().ContinueWith(t => { if (t.IsFaulted) { ParseErrorHandler.HandleParseError(t.Exception.InnerException as ParseException); } return(t.Result); })).ToList(); var installations = (await ParseCloud.CallFunctionAsync <IList <ApParseInstallation> >("installations", null)) .ToDictionary(x => x.InstallationId.ToString()); var resultSessions = new List <Session>(); foreach (var parseSession in sessions) { var expiresAt = parseSession["expiresAt"] as DateTime?; var installationId = parseSession["installationId"] as string; var session = new Session { Id = parseSession.ObjectId, CreatedAt = parseSession.CreatedAt.HasValue ? parseSession.CreatedAt.Value.ToLocalTime() : parseSession.CreatedAt, ExpiresAt = expiresAt.HasValue ? expiresAt.Value.ToLocalTime() : (DateTime?)null, }; if (!string.IsNullOrEmpty(installationId) && installations.ContainsKey(installationId)) { var installation = installations[installationId]; session.DeviceInfo = installation.DeviceInfo; } resultSessions.Add(session); } return(resultSessions); }
/// <summary> /// Sets an action to be ran when an error is encountered during parsing. /// Details on the error are returned by the callback. /// </summary> /// <remarks> /// Ideally used to display an error message if the command entered encounters an error. /// </remarks> public CommandParser OnError(Action <object, string> callback) { ParseError += new ParseErrorHandler(callback); return(this); }
public PerlangParser(List <Token> tokens, ParseErrorHandler parseErrorHandler, bool allowSemicolonElision) { this.parseErrorHandler = parseErrorHandler; this.tokens = tokens; this.allowSemicolonElision = allowSemicolonElision; }