Login.cs 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using System;
  2. using DevExpress.XtraEditors;
  3. using UAS_PLCDataReader.Entity;
  4. using System.Data;
  5. using UAS_PLCDataReader.DataOperate;
  6. using UAS_PLCDataReader.PublicMethod;
  7. namespace UAS_PLCDataReader
  8. {
  9. public partial class Login : XtraForm
  10. {
  11. DataHelper dh = new DataHelper();
  12. public DataTable UserInf { get; private set; }
  13. public Login()
  14. {
  15. InitializeComponent();
  16. }
  17. private void Login_Load(object sender, EventArgs e)
  18. {
  19. //int[] arr= BaseUtil.GetDecimalData("01030C00CD0000004C0000002E0000A9", 8);
  20. //for (int i = 0; i < arr.Length; i++)
  21. //{
  22. // Console.WriteLine(arr[i]);
  23. //}
  24. SystemInf.dh = dh;
  25. DataTable dt = (DataTable)dh.ExecuteSql("select ma_user,ma_function from master", "select");
  26. BaseUtil.FillComBoxEditWidthDataTable(Master, "ma_function", "ma_user", dt, false);
  27. string index = BaseUtil.GetCacheData("Master").ToString();
  28. UserName.Text = BaseUtil.GetCacheData("UserName").ToString();
  29. Master.SelectedIndex = int.Parse(index == "" ? "0" : index);
  30. if (UserName.Text != "")
  31. PassWord.Focus();
  32. }
  33. private void LoginButton_Click(object sender, EventArgs e)
  34. {
  35. if (UserName.Text != "" && PassWord.Text != "")
  36. {
  37. string oErrMessage = "";
  38. string master = BaseUtil.GetComboxEditValue(Master);
  39. if (LogicHandler.CheckUserLogin(UserName.Text, PassWord.Text, master, out oErrMessage))
  40. {
  41. DataHelper.DBConnectionString = "Connection Timeout=0;Pooling=false;Password=select!#%*(;User ID=" + master + ";Pooling=false;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + DataHelper.Address + ")(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));";
  42. dh = new DataHelper();
  43. SystemInf.dh = dh;
  44. BaseUtil.SetCacheData("Master", Master.SelectedIndex);
  45. BaseUtil.SetCacheData("UserName", UserName.Text);
  46. SetInf();
  47. Main main = new Main();
  48. Hide();
  49. main.ShowDialog();
  50. Close();
  51. }
  52. else XtraMessageBox.Show(oErrMessage);
  53. }
  54. else XtraMessageBox.Show("用户名和密码不能为空!");
  55. }
  56. /// <summary>
  57. ///设置User类的全局变量,类似于Session
  58. /// </summary>
  59. private void SetInf()
  60. {
  61. //设置全局用户信息
  62. string[] field = { "em_code,em_depart,em_type,em_name,em_position,em_professname,em_type" };
  63. UserInf = dh.getFieldsDataByCondition("Employee ", field, "upper(em_code)='" + UserName.Text.ToUpper() + "'");
  64. //通过Source表关联岗位资源编号查询出当前的执行工序
  65. User.UserCode = UserInf.Rows[0]["em_code"].ToString();
  66. User.UserDepartment = UserInf.Rows[0]["em_depart"].ToString();
  67. User.UserName = UserInf.Rows[0]["em_name"].ToString();
  68. User.UserPosition = UserInf.Rows[0]["em_position"].ToString();
  69. User.UserProfessName = UserInf.Rows[0]["em_professname"].ToString();
  70. User.UserAccountType = UserInf.Rows[0]["em_type"].ToString();
  71. //User.UserGroupCode = UserInf.Rows[0]["ug_code"].ToString();
  72. //User.UserGroup = UserInf.Rows[0]["ug_name"].ToString();
  73. }
  74. private void PassWord_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
  75. {
  76. if (e.KeyCode == System.Windows.Forms.Keys.Enter)
  77. {
  78. LoginButton.PerformClick();
  79. }
  80. }
  81. }
  82. }