Example #1
0
        /// <summary>
        /// 新增/删除/修改 sys_Online
        /// </summary>
        /// <param name="fam">sys_OnlineTable实体类</param>
        /// <returns>返回0操正常</returns>
        public override int sys_OnlineInsertUpdate(sys_OnlineTable fam)
        {
            int rInt = 0;

            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("sys_OnlineInsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DB_Option_Action_", SqlDbType.NVarChar).Value = fam.DB_Option_Action_; //操作方法 Insert:增加 Update:修改 Delete:删除 Disp:显示单笔记录
                cmd.Parameters.Add("@OnlineID", SqlDbType.Int).Value         = fam.OnlineID;                //自动ID
                cmd.Parameters.Add("@O_SessionID", SqlDbType.VarChar).Value  = fam.O_SessionID;             //用户SessionID
                cmd.Parameters.Add("@O_UserName", SqlDbType.NVarChar).Value  = fam.O_UserName;              //用户名
                cmd.Parameters.Add("@O_Ip", SqlDbType.VarChar).Value         = fam.O_Ip;                    //用户IP地址
                cmd.Parameters.Add("@O_LoginTime", SqlDbType.DateTime).Value = fam.O_LoginTime;             //登陆时间
                cmd.Parameters.Add("@O_LastTime", SqlDbType.DateTime).Value  = fam.O_LastTime;              //最后访问时间
                cmd.Parameters.Add("@O_LastUrl", SqlDbType.NVarChar).Value   = fam.O_LastUrl;               //最后请求网站
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return(rInt);
        }
Example #2
0
        /// <summary>
        /// 将记录集转为sys_OnlineTable实体类
        /// </summary>
        /// <param name="dr">记录集</param>
        /// <returns>sys_OnlineTable</returns>
        protected object Populatesys_Online(IDataReader dr)
        {
            sys_OnlineTable nc = new sys_OnlineTable();

            if (!Convert.IsDBNull(dr["OnlineID"]))
            {
                nc.OnlineID = Convert.ToInt32(dr["OnlineID"]);                                    // 自动ID
            }
            if (!Convert.IsDBNull(dr["O_SessionID"]))
            {
                nc.O_SessionID = Convert.ToString(dr["O_SessionID"]).Trim();                                       // 用户SessionID
            }
            if (!Convert.IsDBNull(dr["O_UserName"]))
            {
                nc.O_UserName = Convert.ToString(dr["O_UserName"]).Trim();                                      // 用户名
            }
            if (!Convert.IsDBNull(dr["O_Ip"]))
            {
                nc.O_Ip = Convert.ToString(dr["O_Ip"]).Trim();                                // 用户IP地址
            }
            if (!Convert.IsDBNull(dr["O_LoginTime"]))
            {
                nc.O_LoginTime = Convert.ToDateTime(dr["O_LoginTime"]);                                       // 登陆时间
            }
            if (!Convert.IsDBNull(dr["O_LastTime"]))
            {
                nc.O_LastTime = Convert.ToDateTime(dr["O_LastTime"]);                                      // 最后访问时间
            }
            if (!Convert.IsDBNull(dr["O_LastUrl"]))
            {
                nc.O_LastUrl = Convert.ToString(dr["O_LastUrl"]).Trim();                                     // 最后请求网站
            }
            return(nc);
        }
        /// <summary>
        /// 删除在线用户
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="sessionid">用户sessionid</param>
        public void OnlineRemove(string username, string sessionid)
        {
            sys_OnlineTable so = BusinessFacade.sys_OnlineDisp(username, sessionid);

            so.DB_Option_Action_ = "Delete";
            BusinessFacade.sys_OnlineInsertUpdate(so);
        }
        /// <summary>
        /// 移除在线用户
        /// </summary>
        /// <param name="username">用户名</param>
        public void OnlineRemove(string username)
        {
            sys_OnlineTable online = BusinessFacade.sys_OnlineDisp(username);

            online.DB_Option_Action_ = "Delete";
            BusinessFacade.sys_OnlineInsertUpdate(online);
        }
        /// <summary>
        /// 更新用户最后访问时间
        /// </summary>
        /// <param name="username">用户名</param>
        public void OnlineAccess(string username)
        {
            sys_OnlineTable online = BusinessFacade.sys_OnlineDisp(username);

            online.O_LastTime        = DateTime.Now;
            online.O_LastUrl         = Common.GetScriptUrl;
            online.DB_Option_Action_ = "Update";
            BusinessFacade.sys_OnlineInsertUpdate(online);
        }
        /// <summary>
        /// 获得在线用户信息
        /// </summary>
        /// <param name="username">用户名</param>
        /// <returns></returns>
        public OnlineUser <string> GetOnlineMember(string username)
        {
            sys_OnlineTable     online = BusinessFacade.sys_OnlineDisp(username);
            OnlineUser <string> ou     = new OnlineUser <string>();

            ou.U_Guid      = online.O_SessionID;
            ou.U_LastIP    = online.O_Ip;
            ou.U_LastTime  = online.O_LastTime;
            ou.U_LastUrl   = online.O_LastUrl;
            ou.U_Name      = online.O_UserName;
            ou.U_StartTime = online.O_LoginTime;
            TimeSpan ts = ou.U_LastTime - ou.U_StartTime;

            ou.U_OnlineSeconds = ts.TotalSeconds;
            ou.U_Type          = true;

            return(ou);
        }
Example #7
0
 /// <summary>
 /// 新增/删除/修改 sys_Online
 /// </summary>
 /// <param name="fam">sys_OnlineTable实体类</param>
 /// <returns>返回0操正常</returns>
 public abstract int sys_OnlineInsertUpdate(sys_OnlineTable fam);