﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ICaiBan.Remoting.Client;
using ICaiBan.IBLL;
using ICaiBan.ModelBL.Common;

namespace ICaiBan.API.JsonObject
{
    /// <summary>
    /// 在线消息
    /// </summary>
    [Serializable]
    public class Sessiond
    {
    //    /// <summary>
    //    /// 获取session
    //    /// </summary>
    //    /// <param name="sessionId">sessionId</param>
    //    /// <returns>author:李蛟龙 2013-5-16</returns>
    //    public static Session GetSession(string sessionId)
    //    {
    //        CacheKey<Session> key = new CacheKey<Session>(sessionId, false, CacheKeyType.Standard, 600000);
    //        Session ns = DistCache.Get<Session>(key);
    //        if (ns != null)
    //        {
    //            ns.expiretime = DateTime.Now.AddMinutes(10);
    //            ns.lastvisittime = DateTime.Now;
    //            ns.visitcount += 1;
    //            DistCache.Add(key, ns);
    //        }
    //        return ns;
    //    }

    //    /// <summary>
    //    /// 创建session
    //    /// </summary>
    //    /// <param name="posNo">pos机器编号</param>
    //    /// <returns>author:李蛟龙 2013-5-16</returns>
    //    public static ReturnStatus CreateSession(Guid posNo, out Session session)
    //    {
    //        ReturnStatus info = new ReturnStatus() { State = ReturnState.M00 };

    //        ICaiban.IBLL.Merchant bll = (ICaiban.IBLL.Merchant)InvokeRemoting.GetObj<IMerchant>();
    //        merchant_pos pos = bll.GetMerchantPos(posNo);
    //        if (pos == null)
    //        {
    //            session = null;
    //            info = new ReturnStatus() { State = ReturnState.M01 };
    //        }
    //        else
    //        {
    //            Guid sessionId = Guid.NewGuid();

    //            //写入缓存 缓存时间10分钟
    //            CacheKey<Session> key = new CacheKey<Session>(sessionId.ToString(), false, CacheKeyType.Standard, 600000);
    //            session = DistCache.Get<Session>(key, () =>
    //            {
    //                Session ns = new Session();
    //                ns.createtime = DateTime.Now;
    //                ns.expiretime = DateTime.Now.AddMinutes(10);
    //                ns.ipaddress = HttpContext.Current.Request.UserHostAddress;
    //                ns.lastvisittime = DateTime.Now;
    //                ns.teminalno = posNo;
    //                ns.sessionid = sessionId;
    //                ns.userid = pos.merchant_id;//商户ID
    //                ns.visitcount = 1;
    //                return ns;
    //            });

    //        }
    //        return info;
    //    }

    //    /// <summary>
    //    /// 会话ID
    //    /// </summary>
    //    public Guid sessionid { get; set; }

    //    /// <summary>
    //    /// 登录用户ID
    //    /// </summary>
    //    public Guid userid { get; set; }

    //    /// <summary>
    //    /// 终端号编号
    //    /// </summary>
    //    public Guid teminalno { get; set; }

    //    /// <summary>
    //    /// 创建时间
    //    /// </summary>
    //    public DateTime createtime { get; set; }

    //    /// <summary>
    //    /// 过期时间
    //    /// </summary>
    //    public DateTime expiretime { get; set; }

    //    /// <summary>
    //    /// 访问总次数
    //    /// </summary>
    //    public int visitcount { get; set; }

    //    /// <summary>
    //    /// 最后访问时间
    //    /// </summary>
    //    public DateTime lastvisittime { get; set; }

    //    /// <summary>
    //    /// 终端IP地址
    //    /// </summary>
    //    public string ipaddress { get; set; }

    //    /// <summary>
    //    /// 是否已过期
    //    /// </summary>
    //    public bool isexpire { get { return expiretime < DateTime.Now; } }
    }
}