private async void Login(object sender, RoutedEventArgs e) { LockScreen(); var client = App.Current.Properties["Client"] as Client; if (Validate()) { Login login = new Login(); login.Username = TextBoxUsername.Text; login.Password = this.hasher.ComputeHash(PasswordBoxPassword.Password); var response = await client.SendAsync(login, RequestType.Login); if (response.ResponseType == ResponseType.Success) { App.Current.Properties["LoggedUser"] = login.Username; this.NavigationService.Navigate(new HomePage()); } else { UnlockScreen(); TextBlockErrorMessage.Visibility = Visibility.Visible; TextBlockErrorMessage.Text = response.Message; } } else { UnlockScreen(); TextBlockErrorMessage.Visibility = Visibility.Visible; TextBlockErrorMessage.Text = "Invalid format of username or pass"; } }
public void Login(Login login) { lock (users) { if (!users.ContainsKey(login.Username) || users[login.Username].Password != login.Password) { throw new Exception("Username or password are wrong."); } } }