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.

180 lines
7.2 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Runtime.InteropServices;
using System.Data.SqlClient;
using System.Data;
using System.Security.Policy;
2 years ago
using System.IO;
namespace formula_manage
{
/// <summary>
/// Login.xaml 的交互逻辑
/// </summary>
public partial class Login : Window
2 years ago
{
string logpath = System.Environment.CurrentDirectory + "\\Log";//日志文件目录
string logPath = "" + System.Environment.CurrentDirectory + "\\Log\\Log.txt";//日志文件
string Log_time = "[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "]:";
public string INIPath = Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "formula.ini"; //配置文件路径
public Login()
{
WindowStartupLocation = WindowStartupLocation.CenterScreen;
InitializeComponent();
2 years ago
System.IO.DirectoryInfo log = new System.IO.DirectoryInfo(@logpath);//生成日志文件目录
if (!File.Exists(logPath))//检查日志文件并写入启动日志
{
FileStream fs = new FileStream(logPath, FileMode.CreateNew, FileAccess.Write);//创建写入文件
StreamWriter wr = new StreamWriter(fs);//创建文件
wr.WriteLine(Log_time + "FORMULA_start");
wr.Close();
}
else
{
FileStream fs = new FileStream(logPath, FileMode.Append, FileAccess.Write);
StreamWriter wr = new StreamWriter(fs);//创建文件
wr.WriteLine(Log_time + "FORMULA_start");
wr.Close();
}
}
private void Button_Click(object sender, RoutedEventArgs e) //退出按钮事件
{
this.Close();
}
private void Button_Click_1(object sender, RoutedEventArgs e) //登录按钮事件
{
if ((User.Text == "engineer" || User.Text == "ENGINEER") && (Pasword.Password == "engineer" || Pasword.Password == "ENGINEER"))
{
App.USER_Purview = "ENGINEER";//传入用户名
Window window = Window.GetWindow(this);
MainWindow Main = new MainWindow();
window.Close();
Main.ShowDialog();//实例化并置顶打开信息窗口
}
else
{
System.Windows.MessageBox.Show("账号或密码错误");
}
}
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);
}
}
string TEXT_SQLIP;
string TEXT_SQLNAME;
string TEXT_SQMOD;
string TEXT_SQLUSER;
string TEXT_SQLPASWOR;
string Connstr_SC;
string Connstr_DBC;
bool SQL2;
private async void Window_Loaded(object sender, RoutedEventArgs e)
{
logon.IsEnabled = false; //关闭登录按钮
UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath);
if (!Boolean.Parse(Configini.IniReadvalue("SOFTWARE_SET", "L1")))//连接状态显示是否生效 1有效
{
DISPENLINK.Visibility = Visibility.Hidden; //不显示
DBCLINK.Visibility = Visibility.Hidden;
EXLINK.Visibility = Visibility.Hidden;
USERLINK.Visibility = Visibility.Hidden;
}
TEXT_SQLIP = Configini.IniReadvalue("SQL_SERVER", "SQL1"); //读配置文件
TEXT_SQLNAME = Configini.IniReadvalue("SQL_SERVER", "SQL2");
TEXT_SQMOD = Configini.IniReadvalue("SQL_SERVER", "SQL3");
TEXT_SQLUSER = Configini.IniReadvalue("SQL_SERVER", "SQL4");
TEXT_SQLPASWOR = Configini.IniReadvalue("SQL_SERVER", "SQL5");
SQL2 = Boolean.Parse(Configini.IniReadvalue("SQL_SERVER", "SQL6")); //数据库对象2是否生效
if (TEXT_SQMOD == "0") //判断连接方式
{
Connstr_SC = "server=" + TEXT_SQLIP + ";database=" + TEXT_SQLNAME + ";Trusted_Connection=SSPI";
}
else
{
Connstr_SC = "server=" + TEXT_SQLIP + ";database=" + TEXT_SQLNAME + ";User ID=" + TEXT_SQLUSER + ";Password=" + TEXT_SQLPASWOR;
}
SqlConnection conn_SC = new SqlConnection(Connstr_SC);
try
{
await conn_SC.OpenAsync();
}catch (Exception)
{
DISPENLINK.Background = Brushes.Red; //连接失败红色
System.Windows.MessageBox.Show("连接数据库失败");
Windows.Sql sql = new Windows.Sql();
sql.ShowDialog();//实例化并置顶打开数据库设置窗口
return;
}
conn_SC.Close(); //关闭连接
DISPENLINK.Background = Brushes.Green; //连接成功绿色
if (SQL2) //数据库对象2生效则检查
{
TEXT_SQLIP = Configini.IniReadvalue("SQL_SERVER", "SQL7"); //读配置文件
TEXT_SQLNAME = Configini.IniReadvalue("SQL_SERVER", "SQL8");
TEXT_SQMOD = Configini.IniReadvalue("SQL_SERVER", "SQL9");
TEXT_SQLUSER = Configini.IniReadvalue("SQL_SERVER", "SQL10");
TEXT_SQLPASWOR = Configini.IniReadvalue("SQL_SERVER", "SQL11");
if (TEXT_SQMOD == "0") //判断连接方式
{
Connstr_DBC = "server=" + TEXT_SQLIP + ";database=" + TEXT_SQLNAME + ";Trusted_Connection=SSPI";
}
else
{
Connstr_DBC = "server=" + TEXT_SQLIP + ";database=" + TEXT_SQLNAME + ";User ID=" + TEXT_SQLUSER + ";Password=" + TEXT_SQLPASWOR;
}
SqlConnection conn_DBC = new SqlConnection(Connstr_DBC);
try
{
await conn_DBC.OpenAsync();
}catch (Exception)
{
DBCLINK.Background = Brushes.Red; //连接失败红色
System.Windows.MessageBox.Show("连接数据库失败");
Windows.Sql sql = new Windows.Sql();
sql.ShowDialog();//实例化并置顶打开数据库设置窗口
return;
}
DBCLINK.Background = Brushes.Green; //连接成功绿色
}
logon.IsEnabled = true; //允许登录按钮
UserClass.PressKey.PressKeys(Keys.Tab, false);
UserClass.PressKey.PressKeys(Keys.Tab, true);
}
}
}