using System; using System.Data; using System.Data.Common; using WebLib; /// /// Summary description for Login /// namespace Education { public class LoginBPSN : DAC { private string _userId = ""; private string _password = ""; private string _userName = ""; private string _errMessage = ""; private string _userLang = ""; private bool _noPassword = false; private bool _isManager = false; private bool _isWorker = false; public LoginBPSN() { } public string UserId { get { return _userId; } set { _userId = value; } } public string Password { get { return _password; } set { _password = value; } } public string UserName { get { return _userName; } } public string ErrorMessage { get { return _errMessage; } } public bool NoPassword { get { return _noPassword; } } public string UserLang { get { return _userLang; } set { _userLang = value; } } /// /// 是否是管理員 /// public bool IsManager { get { return _isManager; } } /// /// 是否是承辦人 /// public bool IsWorker { get { return _isWorker; } } /// /// 取得是否登入成功 /// /// 登入成功與否。若回傳 false,錯誤訊息將儲存在 ErrorMessage 屬性中 public bool GetResult() { DbCommand cmd = NewCommand("SELECT BPENO, BPNME, BPEDY, BPAWD FROM BPSNView WHERE BPENO=@BPENO"); AddParam(cmd, "BPENO", _userId); DataTable rs = Select(cmd); _noPassword = false; if (rs.Rows.Count == 0) { _errMessage = "無此使用者代號或是密碼錯誤"; return false; } else { string pwd1 = GetString(rs.Rows[0]["BPAWD"]); string pwd2 = EncDec.KeyDec(pwd1); if (pwd1.CompareTo("\u007f\u007f\u007f\u007f") == 0) { _noPassword = true; pwd2 = ""; } if (_password.CompareTo(pwd2) != 0) { _errMessage = "無此使用者代號或是密碼錯誤"; return false; } if (rs.Rows[0]["BPEDY"] != DBNull.Value) { _errMessage = "您沒有使用這個系統的權限"; return false; } } _errMessage = ""; _userName = GetString(rs.Rows[0]["BPNME"]); _isManager = new DAC_BPSN(conn).Is管理群組(_userId); _isWorker = new DAC_BPSN(conn).Is承辦人群組(_userId); return true; } } }