|
|
|
|
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;
|
|
|
|
|
using System.IO;
|
|
|
|
|
|
|
|
|
|
namespace formula_manage
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Login.xaml 的交互逻辑
|
|
|
|
|
/// </summary>
|
|
|
|
|
public partial class Login : Window
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
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();
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|