You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
4.0 KiB
122 lines
4.0 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Navigation;
|
|
using System.Windows.Shapes;
|
|
using KPlan.Util;
|
|
using System.Threading;
|
|
using System.Windows.Threading;
|
|
|
|
namespace KPlan.Forms {
|
|
/// <summary>
|
|
/// Login.xaml 的交互逻辑
|
|
/// </summary>
|
|
|
|
|
|
public partial class Login : System.Windows.Window {
|
|
|
|
public Login() {
|
|
InitializeComponent();
|
|
KUtil.SetOwnerWindow(this);
|
|
LoadFromConfig();
|
|
}
|
|
|
|
private void Button_Click_1(object sender, RoutedEventArgs e) {
|
|
Close();
|
|
}
|
|
|
|
private void SetLoginVisible(string userName) {
|
|
Visibility v;
|
|
if (KUtil.IsEmpty(userName)) {
|
|
v = Visibility.Hidden;
|
|
}
|
|
else {
|
|
//KUtil.Log("用户已登录:" + userName);
|
|
v = Visibility.Visible;
|
|
}
|
|
l_UserName.Content = userName;
|
|
rec_Logout.Visibility = v;
|
|
b_Logout.Visibility = v;
|
|
l_UserName.Visibility = v;
|
|
l_UserNameTitle.Visibility = v;
|
|
b_Login.IsEnabled = KUtil.IsEmpty(userName);
|
|
}
|
|
|
|
private void Window_MouseDown(object sender, MouseButtonEventArgs e) {
|
|
if (e.ChangedButton == MouseButton.Left)
|
|
this.DragMove();
|
|
}
|
|
|
|
private void DoLogin(object sender, RoutedEventArgs e) {
|
|
string userName = tb_UserName.Text;
|
|
string password = tb_Password.Password;
|
|
string character = tb_Character.Text;
|
|
bool autoLogin = cb_AutoLogin.IsChecked.Value;
|
|
string host = KUtil.GetConfigValue(KConfigure.LOGIN_SECTION, KConfigure.HOST);
|
|
try {
|
|
TCUtil.Login(host, userName, password, character, autoLogin);
|
|
SetLoginVisible(TCUtil.userName);
|
|
}
|
|
catch (Teamcenter.Schemas.Soa._2006_03.Exceptions.InvalidCredentialsException e1) {
|
|
MessageBox.Show(this, "登录失败,用户名或密码错误", "提示");
|
|
KUtil.LogErr(e1);
|
|
}
|
|
catch (System.Exception ex) {
|
|
MessageBox.Show(this, "登录失败:\n" + ex.Message, "提示");
|
|
KUtil.LogErr(ex);
|
|
}
|
|
//new Thread(() => {
|
|
// Action<string, string, string, string> loginAction = new Action<string, string, string, string>(LoginInThread);
|
|
// this.Dispatcher.BeginInvoke(loginAction, host, userName, password, character);
|
|
//}).Start();
|
|
}
|
|
|
|
private void LoadFromConfig() {
|
|
SetLoginVisible(TCUtil.userName);
|
|
tb_UserName.Text = KUtil.GetConfigValue(KConfigure.LOGIN_SECTION, KConfigure.LOGIN_USER);
|
|
tb_Character.Text = KUtil.GetConfigValue(KConfigure.LOGIN_SECTION, KConfigure.LOGIN_ROLE);
|
|
if (!KUtil.IsEmpty(KUtil.GetConfigValue(KConfigure.LOGIN_SECTION, KConfigure.LOGIN_PWD))) {
|
|
cb_AutoLogin.IsChecked = true;
|
|
}
|
|
//new Thread(() => {
|
|
// this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart)delegate() {
|
|
// SetLoginVisible(TCUtil.userName);
|
|
// });
|
|
//}).Start();
|
|
|
|
}
|
|
|
|
private void DoLogout(object sender, RoutedEventArgs e) {
|
|
try {
|
|
TCUtil.Logout();
|
|
SetLoginVisible(TCUtil.userName);
|
|
//new Thread(() => {
|
|
// this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate() {
|
|
// SetLoginVisible(TCUtil.userName);
|
|
// });
|
|
//}).Start();
|
|
}
|
|
catch (System.Exception ex) {
|
|
MessageBox.Show(this, "注销出错:\n" + ex.Message, "提示");
|
|
KUtil.LogErr(ex);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
//protected override void OnDeactivated(EventArgs e) {
|
|
// base.OnDeactivated(e);
|
|
// Close();
|
|
//}
|
|
}
|
|
}
|