using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.Common; using Wellan.Common; using Wellan.Data; /// /// Summary description for Login /// public class LoginBPSN { private string _userId = ""; private string _password = ""; private string _userName = ""; private string _errMessage = ""; private string _userLang = ""; private bool _noPassword = 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; } } /// /// 取得是否登入成功 /// /// 登入成功與否。若回傳 false,錯誤訊息將儲存在 ErrorMessage 屬性中 public bool GetResult() { try { WConnectionString.ConnectionConfigFile = WConfig.GetConnectionConfig(); string ConnName = WConfig.GetConnectionConfigName(); string ConnStr = WConnectionString.GetConnectionString(ConnName); string ConnType = WConnectionString.GetConnectionType(ConnName); WQuery Query = new WQuery(ConnType); DbConnection conn = Query.NewConnection(ConnStr); DbCommand cmd = Query.NewCommand("SELECT BPENO, BPNME, BPEDY, BPAWD FROM BPSNView WHERE BPENO=@BPENO"); cmd.Parameters.Add(Query.NewParameter("@BPENO", _userId)); DataTable rs = Query.Select(conn, cmd); _noPassword = false; if (rs.Rows.Count == 0) { _errMessage = WStringTable.GetInstance().GetString(_userLang, "LOGIN.NOUSERID"); return false; } else { string pwd1 = rs.Rows[0]["BPAWD"].ToString(); string pwd2 = WGuard1.KeyDec(pwd1); if (pwd1.CompareTo("\u007f\u007f\u007f\u007f") == 0) { _noPassword = true; pwd2 = ""; } if (_password.CompareTo(pwd2) != 0) { _errMessage = WStringTable.GetInstance().GetString(_userLang, "LOGIN.WRONGPASSWORD"); return false; } if (rs.Rows[0]["BPEDY"] != DBNull.Value) { _errMessage = WStringTable.GetInstance().GetString(_userLang, "LOGIN.NORIGHT"); return false; } } _errMessage = ""; _userName = rs.Rows[0]["BPNME"].ToString(); return true; } catch { _errMessage = "系統忙碌中,請稍後再試"; _userName = ""; return false; } } }