Login.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. SystemInf.dh = dh;
  20. DataTable dt = (DataTable)dh.ExecuteSql("select ma_user,ma_function from master", "select");
  21. BaseUtil.FillComBoxEditWidthDataTable(Master, "ma_function", "ma_user", dt, false);
  22. string index = BaseUtil.GetCacheData("Master").ToString();
  23. UserName.Text = BaseUtil.GetCacheData("UserName").ToString();
  24. Master.SelectedIndex = int.Parse(index == "" ? "0" : index);
  25. if (UserName.Text != "")
  26. PassWord.Focus();
  27. }
  28. private void LoginButton_Click(object sender, EventArgs e)
  29. {
  30. if (UserName.Text != "" && PassWord.Text != "")
  31. {
  32. string oErrMessage = "";
  33. string master = BaseUtil.GetComboxEditValue(Master);
  34. if (LogicHandler.CheckUserLogin(UserName.Text, PassWord.Text, master, out oErrMessage))
  35. {
  36. DataHelper.DBConnectionString = "Connection Timeout=0;Pooling=false;Password=select!#%*(;User ID=" + master + ";Pooling=false;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=183.238.39.179)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));";
  37. dh = new DataHelper();
  38. SystemInf.dh = dh;
  39. BaseUtil.SetCacheData("Master", Master.SelectedIndex);
  40. BaseUtil.SetCacheData("UserName", UserName.Text);
  41. SetInf();
  42. Main main = new Main();
  43. Hide();
  44. main.ShowDialog();
  45. Close();
  46. }
  47. else XtraMessageBox.Show(oErrMessage);
  48. }
  49. else XtraMessageBox.Show("用户名和密码不能为空!");
  50. }
  51. /// <summary>
  52. ///设置User类的全局变量,类似于Session
  53. /// </summary>
  54. private void SetInf()
  55. {
  56. //设置全局用户信息
  57. string[] field = { "em_code,em_depart,em_type,em_name,em_position,em_professname,em_type" };
  58. UserInf = dh.getFieldsDataByCondition("Employee ", field, "upper(em_code)='" + UserName.Text.ToUpper() + "'");
  59. //通过Source表关联岗位资源编号查询出当前的执行工序
  60. User.UserCode = UserInf.Rows[0]["em_code"].ToString();
  61. User.UserDepartment = UserInf.Rows[0]["em_depart"].ToString();
  62. User.UserName = UserInf.Rows[0]["em_name"].ToString();
  63. User.UserPosition = UserInf.Rows[0]["em_position"].ToString();
  64. User.UserProfessName = UserInf.Rows[0]["em_professname"].ToString();
  65. User.UserAccountType = UserInf.Rows[0]["em_type"].ToString();
  66. //User.UserGroupCode = UserInf.Rows[0]["ug_code"].ToString();
  67. //User.UserGroup = UserInf.Rows[0]["ug_name"].ToString();
  68. }
  69. private void PassWord_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
  70. {
  71. if (e.KeyCode == System.Windows.Forms.Keys.Enter)
  72. {
  73. LoginButton.PerformClick();
  74. }
  75. }
  76. }
  77. }