public TUser Login(string userName, string password, string senderIP, string senderPort)
        {
            try
            {
                ServerLogger.logInfo("Login", string.Format("User login [{0}] - [{1}] - [{2}] - [{3}]", userName, password, senderIP, senderPort), serverView);
                using (UserBusiness business = new UserBusiness())
                {
                    //bool loginSuccess = business.Users.Any(u => u.user_name == userName && u.password == password && u.active_status && !u.deleted);
                    User user = business.ValidateUser(userName, password, Constants.UserRole.Staff.ToString());

                    if (user == null)
                    {
                        string failMessage = "Login Fail";
                        //if (user == null) failMessage = "Không tồn tại người dùng: " + userName;
                        //else if (user.password != password) failMessage = "Nhập sai mật khẩu";
                        //else if (user.active_status == false) failMessage = "Người dùng này đã bị khóa.";

                        ServerLogger.logInfo("Login", string.Format("login result: {0}", failMessage), serverView);
                        return(new TUser());
                    }

                    AddClientStation(userName, senderIP, int.Parse(senderPort));

                    return(ThriftUtil.ConvertToTUser(user));
                }
            }
            catch (Exception exc)
            {
                ServerLogger.logError("[Login]", exc);
                return(new TUser());
            }
        }