private async void Login_Button_Click(object sender, RoutedEventArgs e) { var errorMessage = string.Empty; var loginParameters = GetLoginParametes(); if (IsValid(loginParameters, ref errorMessage)) { Login_Button.IsEnabled = false; var loginResponse = await _loginService.TryLogin(loginParameters); if (loginResponse.Success) { LoginLogoutManager.Singleton.CurrentUser = UserData_VM.FromLoginResponse(loginResponse, loginParameters); new MainWindow().Show(); ((Parent as Grid).Parent as LoginWindow).Close(); } else { MessageBox.Show( "Login failed!\r\n" + "Most probably - wrong e-mail or password... but also might be server problem.\r\n" + "Retry once again!"); } Login_Button.IsEnabled = true; } else { MessageBox.Show(errorMessage); } e.Handled = true; }