public IEnumerable <IcqMessage> GetRange(IcqAccount account, DateTime from, DateTime to) { var result = new List <IcqMessage>(); try { using (var conn = new SqlConnection(_cnString)) { using (var cmd = new SqlCommand("[dbo].[ICQ_HISTORY_GET_RANGE]", conn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@uin", account.Uin); cmd.Parameters.AddWithValue("@from", from); cmd.Parameters.AddWithValue("@to", to); conn.Open(); using (var dr = cmd.ExecuteReader()) { while (dr.Read()) { var msg = new IcqMessage(); msg.Id = dr.GetInt32(dr.GetOrdinal("MESSAGE_ID")); msg.ContactUin = dr.GetInt32(dr.GetOrdinal("CONTACT_UIN")); msg.IsMy = dr.GetBoolean(dr.GetOrdinal("IS_MY")); msg.DateTime = dr.GetDateTime(dr.GetOrdinal("DATE")); msg.Text = dr.GetString(dr.GetOrdinal("TEXT")); result.Add(msg); } } } } } catch (Exception ex) { Console.WriteLine(ex); } return(result); }
public IcqMessage GetLatest(IcqAccount account) { IcqMessage result = null; try { using (var conn = new SqlConnection(_cnString)) { using (var cmd = new SqlCommand("[dbo].[ICQ_HISTORY_GET_LATEST]", conn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@uin", account.Uin); conn.Open(); using (var dr = cmd.ExecuteReader()) { if (dr.Read()) { result = new IcqMessage(); result.Id = dr.GetInt32(dr.GetOrdinal("MESSAGE_ID")); result.ContactUin = dr.GetInt32(dr.GetOrdinal("CONTACT_UIN")); result.IsMy = dr.GetBoolean(dr.GetOrdinal("IS_MY")); result.DateTime = dr.GetDateTime(dr.GetOrdinal("DATE")); result.Text = dr.GetString(dr.GetOrdinal("TEXT")); } } } } } catch (Exception ex) { Console.WriteLine(ex); } return(result); }