Esempio n. 1
0
        /// <summary>
        /// 获取上一条消息
        /// </summary>
        /// <param name="chatIndex"></param>
        /// <returns></returns>
        public ChatMsgReceive GetBeforeRecordByChatIndex(string chatIndex, string sessionId)
        {
            ChatMsgReceive charMsg   = null;
            string         selectStr = $"select  * from t_chat_message  where chatIndex<>'{chatIndex}' and sendtime<>'' and sendtime not null  and sessionId='{sessionId}' order by rowid desc limit 0,1";

            using (SQLiteConnection conn = new SQLiteConnection(SqliteHelper.ConnStr(GlobalVariable.CompanyCode, AntSdkService.AntSdkLoginOutput.userId)))
            {
                SQLiteDataReader dataReader = SqliteHelper.ExecuteReader(conn, selectStr);
                if (dataReader == null)
                {
                    return(null);
                }
                if (dataReader.Read())
                {
                    charMsg = new ChatMsgReceive();
                    //直接用GetString,如果值为DBNull,会报错
                    //charMsg.MTP = dataReader.GetString(0);
                    charMsg.MTP              = dataReader.GetValue(0).ToString();
                    charMsg.chatIndex        = dataReader.GetValue(1).ToString();
                    charMsg.content          = dataReader.GetValue(2).ToString();
                    charMsg.messageId        = dataReader.GetValue(3).ToString();
                    charMsg.sendTime         = dataReader.GetValue(4).ToString();
                    charMsg.sendUserId       = dataReader.GetValue(5).ToString();
                    charMsg.sessionId        = dataReader.GetValue(6).ToString();
                    charMsg.targetId         = dataReader.GetValue(7).ToString();
                    charMsg.SENDORRECEIVE    = dataReader.GetValue(8).ToString();
                    charMsg.sendsucessorfail = int.Parse(dataReader.GetValue(9).ToString());
                    charMsg.flag             = dataReader.GetValue(10).ToString();
                    charMsg.readtime         = dataReader.GetValue(11).ToString();
                    charMsg.uploadOrDownPath = dataReader.GetValue(12).ToString();
                }
                dataReader.Close();
                return(charMsg);
            }
        }
Esempio n. 2
0
 public T_Session GetModelByKey(string key)
 {
     try
     {
         T_Session session   = null;
         string    selectStr = string.Format("select  * from T_Session where SessionId= '{0}'", key);
         using (SQLiteConnection conn = new SQLiteConnection(SqliteHelper.ConnStr(GlobalVariable.CompanyCode,
                                                                                  AntSdkService.AntSdkLoginOutput.userId)))
         {
             SQLiteDataReader dataReader = SqliteHelper.ExecuteReader(conn, selectStr);
             if (dataReader == null)
             {
                 return(null);
             }
             if (dataReader.Read())
             {
                 //"(SESSIONID VARCHAR(64),USERID VARCHAR(64),GROUPID VARCHAR(64),UNREADCOUNT INT, LASTMSG VARCHAR(4000), LASTMSGTIMESTAMP  VARCHAR(64),LASTCHATINDEX VARCHAR(64),BURNUNREADCOUNT INT, BURNLASTMSG VARCHAR(4000), BURNLASTMSGTIMESTAMP  VARCHAR(64),BURNLASTCHATINDEX VARCHAR(64),PRIMARY KEY(SESSIONID))";
                 session                      = new T_Session();
                 session.SessionId            = dataReader.GetValue(0).ToString();
                 session.UserId               = dataReader.GetValue(1).ToString();
                 session.GroupId              = dataReader.GetValue(2).ToString();
                 session.UnreadCount          = dataReader.GetInt32(3);
                 session.LastMsg              = dataReader.GetValue(4).ToString();
                 session.LastMsgTimeStamp     = dataReader.GetValue(5).ToString();
                 session.LastChatIndex        = dataReader.GetValue(6).ToString();
                 session.BurnUnreadCount      = dataReader.GetInt32(7);
                 session.BurnLastMsg          = dataReader.GetValue(8).ToString();
                 session.BurnLastMsgTimeStamp = dataReader.GetValue(9).ToString();
                 session.BurnLastChatIndex    = dataReader.GetValue(10).ToString();
                 session.IsBurnMode           = dataReader.GetInt32(11);
                 if (dataReader["topIndex"] == DBNull.Value)
                 {
                     session.TopIndex = null;
                 }
                 else
                 {
                     session.TopIndex = dataReader.GetInt32(12);
                 }
             }
             dataReader.Close();
             return(session);
         }
     }
     catch (Exception ex)
     {
         LogHelper.WriteError("[T_SessionDAL_GetModelByKey]" + ex.Message);
         return(null);
     }
 }