Exemplo n.º 1
0
        public int CollectOnlineTime()
        {
            int onlineTime = CurrentOnlineTimeSecs;

            CurrentOnlineTimeSecs = 0;

            //  首次收集
            if (LastCollectTime < LoginTime)
            {
                LastCollectTime = LoginTime;
            }

            if (LogoffTime < LoginTime)
            {
                //  用户在线
                onlineTime     += (int)DateTime.Now.Subtract(LastCollectTime).TotalSeconds;
                LastCollectTime = DateTime.Now;
            }
            else
            {
                //  用户已经离线
                onlineTime     += (int)LogoffTime.Subtract(LastCollectTime).TotalSeconds;
                LastCollectTime = LogoffTime;
            }

            return(onlineTime);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 设置为登录
        /// </summary>
        /// <returns>如果为再次登录,则返回上次的在线时长(秒);否则为0</returns>
        public void SetLogin()
        {
            if (LogoffTime > LastCollectTime)
            {
                CurrentOnlineTimeSecs += (int)LogoffTime.Subtract(LastCollectTime).TotalSeconds;
            }

            LoginTime       = DateTime.Now;
            LastCollectTime = DateTime.Now;
            LogoffTime      = _MinTime;
        }
Exemplo n.º 3
0
        /// <summary>
        /// 设置为登出
        /// </summary>
        /// <returns>返回本次在线时长</returns>
        public int SetLogoff_Discard()
        {
            int onlinePlus = 0;

            if (LogoffTime < LoginTime)
            {
                LogoffTime = DateTime.Now;
            }

            onlinePlus = (int)LogoffTime.Subtract(LoginTime).TotalSeconds;

            return(onlinePlus);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 设置为登录
        /// </summary>
        /// <returns>如果为再次登录,则返回上次的在线时长(秒);否则为0</returns>
        private int SetLogin_Discard()
        {
            int onlinePlus = 0;

            if (LogoffTime >= LoginTime)
            {
                onlinePlus = (int)LogoffTime.Subtract(LoginTime).TotalSeconds;
            }

            LoginTime  = DateTime.Now;
            LogoffTime = _MinTime;

            SocketOpen = true;

            return(onlinePlus);
        }