private async Task Login(string username, string password, bool rememberMe) { ActivateLoading(); var error = false; User user = null; try { user = (await Service.GetTable<User>() .Where(t => t.Username == username && t.Password == password).ToListAsync()).FirstOrDefault(); } catch (Exception ex) { error = true; } if (error) { MessageBox.Show("Something went wrong!"); return; } if (user == null) { MessageBox.Show("The username, password combination does not match!"); return; } App.User = user; if (rememberMe) { var settings = new SettingsHelper(); settings.SetUsernameToSettings(username); settings.SetPasswordToSettings(password); settings.SetRememberMeToSettings(true); } Uri uri = null; switch (user.Type) { case UserType.Volunteer: uri = new Uri(PageConstants.MainPage, UriKind.RelativeOrAbsolute); break; case UserType.Medic: uri = new Uri(PageConstants.MainPage, UriKind.RelativeOrAbsolute); break; case UserType.Manager: uri = new Uri(PageConstants.MainPage, UriKind.RelativeOrAbsolute); break; } NavigationService.Navigate(uri); }