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.
 
 
 

119 lines
4.8 KiB

using SunlightCentralizedControlManagement_SCCM_.UserClass;
using SunlightCentralizedControlManagement_SCCM_.ViewModel;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Windows;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using static SunlightCentralizedControlManagement_SCCM_.UserClass.SqliteHelper;
namespace SunlightCentralizedControlManagement_SCCM_
{
/// <summary>
/// Login.xaml 的交互逻辑
/// </summary>
public partial class Login : Window
{
public string INIPath = Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "SCCM.ini"; //配置文件路径
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
DataTable logindataTable = new DataTable(); //建立login缓存
DataTable logindataT = new DataTable(); //建立login缓存
public Login()
{
WindowStartupLocation = WindowStartupLocation.CenterScreen;
InitializeComponent();
UserClass.LogGing.LogGingDATA("SCCM_start");
}
private void Button_Click(object sender, RoutedEventArgs e) //退出按钮事件
{
UserClass.LogGing.LogGingDATA("SCCM_LogStop");
Window window = Window.GetWindow(this);
window.Close();
}
private void Button_Click_1(object sender, RoutedEventArgs e) //登录按钮事件
{
string user = User.Text;
string pasword = Pasword.Password; ;
try
{
if (User.Text == "") //检查用户名输入
{
System.Windows.MessageBox.Show(Properties.Resources.NPERR, "SCCM", MessageBoxButton.OK, MessageBoxImage.Error);
return;
}
if ((user == "engineer" || user == "ENGINEER") && (pasword == "engineer" || pasword == "ENGINEER")) //确认账号是否是工程师
{
App.USER_Purview = "ENGINEER";//传入用户名
Window window = Window.GetWindow(this);
MainWindow Main = new MainWindow();
window.Close();
UserClass.LogGing.LogGingDATA("LOGon = ENGINEER");
Main.ShowDialog();//实例化并置顶打开窗口
}
else
{
string paw = logindataT.Select("Name='" + user + "'").First().Field<string>("Password");
if (paw == null) paw = "";
if (paw == pasword)
{
App.USER_Purview = User.Text;//传入用户名
Window window = Window.GetWindow(this);
MainWindow Main = new MainWindow();
window.Close();
UserClass.LogGing.LogGingDATA("LOGon = " + user);
Main.ShowDialog();//实例化并置顶打开窗口
}
else
{
System.Windows.MessageBox.Show(Properties.Resources.NPERR, "SCCM", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
catch (Exception ex)
{
LogGing.ERRDATA(ex);
System.Windows.MessageBox.Show("Unable to start. Check the log for details.", "SCCM", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
private void SearchBox_OnKeyDownd(object sender, System.Windows.Input.KeyEventArgs e) //回车跳转功能
{
if (e.Key == Key.Enter)
{
//SendKeys.SendWait("{Tab}");
UserClass.PressKey.PressKeys(Keys.Tab, false);
UserClass.PressKey.PressKeys(Keys.Tab, true);
}
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
logon.IsEnabled = false;
SQLiteHelper db = new SQLiteHelper(DBAddress); //数据库连接路径
db.Open(); //打开数据库
logindataTable = db.ExecuteDataSet("select * from USER where Groups<>'CHIEF'", null).Tables[0]; //读取表写入缓存
logindataT = db.ExecuteDataSet("select * from USER ", null).Tables[0];
db.Close();
User.ItemsSource = logindataTable.AsEnumerable().Select(rowdata => rowdata.Field<string>("Name"));//转换
logon.IsEnabled = true; //允许登录按钮
UserClass.PressKey.PressKeys(Keys.Tab, false);
UserClass.PressKey.PressKeys(Keys.Tab, true);
}
}
}