Beispiel #1
0
        /// <summary>
        /// 查找从id之前的消息
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public List <Message> QueryUserLatestMessages(string userID, long id)
        {
            if (id < 0)
            {
                id = long.MaxValue;
            }

            DataTable dt = LanIMStore.Instance.Query(Sql.QUERY_USER_LATEST_MESSAGE,
                                                     new SQLiteParameter("@USER_ID", userID),
                                                     new SQLiteParameter("@ID", id));

            ModelConvert <Message>     convert = new ModelConvert <Message>();
            IInstanceCreater <Message> ic      = new MessageInstanceCreater("C_TYPE");

            List <Message> list = convert.Convert(dt, ic,
                                                  new ColumnMapping("C_ID", "ID"),
                                                  new ColumnMapping("C_TIME", "Time"),
                                                  new ColumnMapping("C_FROM_USER_ID", "FromUserId"),
                                                  new ColumnMapping("C_TO_USER_ID", "ToUserId"),
                                                  new ColumnMapping("C_CONTENT", "Content"),
                                                  new ColumnMapping("C_FLAG", "Flag"));

            //按发送顺序
            list.Reverse();

            foreach (Message m in list)
            {
                if (m is IPost)
                {
                    (m as IPost).Post();
                }
            }
            return(list);
        }
Beispiel #2
0
        public List <Contacter> Query()
        {
            DataTable dt = LanIMStore.Instance.Query(Sql.QUERY_CONTACTER);

            ModelConvert <Contacter>     convert = new ModelConvert <Contacter>();
            IInstanceCreater <Contacter> ic      = new CommonInstanceCreater <Contacter>();
            List <Contacter>             cs      = convert.Convert(dt, ic,
                                                                   new ColumnMapping("C_ID", "ID"),
                                                                   new ColumnMapping("C_NICK_NAME", "NickName"),
                                                                   new ColumnMapping("C_MAC", "MAC"),
                                                                   new ColumnMapping("C_IP", "IP"),
                                                                   new ColumnMapping("C_PORT", "Port"),
                                                                   new ColumnMapping("C_MEMO", "Memo"));

            return(cs);
        }