public ActionResult ChatHistory(ChatHistoryModel model) { model = model ?? new ChatHistoryModel(); // do not show zkcore history for non-cores if (model.Channel == "zkcore" && Global.Account.DevLevel < DevLevel.RetiredCoreDeveloper) { return(View("LobbyChatHistory", model)); } // do not show undelivered offline PMs to anyone if (model.Place == SayPlace.User) { return(View("LobbyChatHistory", model)); } var db = new ZkDataContext(); var ret = db.LobbyChatHistories.Where(x => x.SayPlace == model.Place).AsQueryable(); if (!string.IsNullOrEmpty(model.Channel)) { ret = ret.Where(x => x.Target == model.Channel); } if (!string.IsNullOrEmpty(model.User)) { ret = ret.Where(x => x.User == model.User); } if (model.TimeFrom.HasValue) { ret = ret.Where(x => x.Time >= model.TimeFrom); } if (model.TimeTo.HasValue) { ret = ret.Where(x => x.Time <= model.TimeTo); } if (!string.IsNullOrEmpty(model.Text)) { ret = ret.Where(x => x.Text.Contains(model.Text)); } model.Data = ret.OrderByDescending(x => x.Time); return(View("LobbyChatHistory", model)); }
//Get History of all chat public List <ChatHistoryModel> GetChatHistory(int userId) { try { string connectionString = configuration.GetConnectionString("DefaultConnectionString"); SqlConnection con = new SqlConnection(connectionString); con.Open(); SqlCommand cmd = new SqlCommand("GetAllChatHistory_ToUser", con); cmd.CommandType = CommandType.StoredProcedure; SqlParameter p1 = new SqlParameter("userid", userId); cmd.Parameters.Add(p1); SqlDataReader rd = cmd.ExecuteReader(); if (rd.Read()) { //add chat history by list while (rd.Read()) { var data = new ChatHistoryModel() { user = rd.GetString(0), sendTo = rd.GetString(1), message = rd.GetString(2), date = rd.GetString(3), receiverId = rd.GetInt32(4) }; chatHistoryList.Add(data); } } else { //return false; } } catch (Exception ex) { Console.WriteLine(ex); } return(chatHistoryList); }
public ActionResult ChatHistory(ChatHistoryModel model) { model = model ?? new ChatHistoryModel(); var db = new ZkDataContext(); var ret = db.LobbyChatHistories.Where(x=>x.SayPlace == model.Place).AsQueryable(); if (!string.IsNullOrEmpty(model.Channel)) ret = ret.Where(x => x.Target == model.Channel); if (!string.IsNullOrEmpty(model.User)) ret = ret.Where(x => x.User == model.User); if (model.TimeFrom.HasValue) ret = ret.Where(x => x.Time >= model.TimeFrom); if (model.TimeTo.HasValue) ret = ret.Where(x => x.Time >= model.TimeTo); if (!string.IsNullOrEmpty(model.Text)) ret = ret.Where(x => x.Text.Contains(model.Text)); model.Data = ret.OrderByDescending(x => x.Time); return View("LobbyChatHistory", model); }