public void UpdateUserSession(long userID, DateTime TimeStamp)
        {
            SuSession user = userSessionDao.FindByIdentity(userID);

            user.TimeStamp = TimeStamp;
            userSessionDao.SaveOrUpdate(user);
        }
        public void DeleteUserSession(long userID)
        {
            SuSession uSession = userSessionDao.FindByIdentity(userID);

            if (uSession != null)
            {
                userSessionDao.Delete(uSession);
            }
        }
        public void setUserSession(long userID, string sessionID, DateTime TimeStamp)
        {
            string iPAddress = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

            if (iPAddress == null || iPAddress == "")
            {
                iPAddress = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
                if (iPAddress == null || iPAddress == "")
                {
                    iPAddress = System.Web.HttpContext.Current.Request.UserHostAddress.ToString();
                }
            }

            SuSession user = QueryProvider.SuSessionQuery.GetUserSession(userID);

            if (user != null)
            {
                user.Sessionid = sessionID;
                user.Ip        = iPAddress;
                user.TimeStamp = TimeStamp;
                userSessionDao.Update(user);
            }
            else
            {
                user           = new SuSession();
                user.Userid    = userID;
                user.Sessionid = sessionID;
                user.Ip        = iPAddress;
                user.TimeStamp = TimeStamp;
                try
                {
                    userSessionDao.Save(user);
                }
                catch (Exception)
                {
                }
            }
        }
        public void SignOut(long userID)
        {
            try
            {
                SuUser user = QueryProvider.SuUserQuery.FindByIdentity(userID);

                SuSession session = userSessionDao.FindByIdentity(userID);
                if (user == null)
                {
                    return;
                }

                IList <SuUserLog> suUserLog = QueryProvider.SuUserLogQuery.FindSuUserLogByUserIdSessionID(user.UserName, session.Sessionid);
                if (suUserLog.Count > 0)
                {
                    suUserLog[suUserLog.Count - 1].SignOutDate = DateTime.Now;
                    SuUserLogService.Update(suUserLog[suUserLog.Count - 1]);
                }

                userSessionDao.Delete(session);
            }
            catch { }
        }