public ActionResult getOrganizedMessages() { MessagesModel message = new MessagesModel(); var messages = message.RecieveMessages(User.Identity.Name); List<string> Recipients = new List<string>(); List<List<MessagesModel>> organizedMessages = new List<List<MessagesModel>>(); for (int i = 0; i < messages.Count(); i++) { if (messages[i].From != User.Identity.Name && !Recipients.Contains(messages[i].From)) { Recipients.Add(messages[i].From); } if (messages[i].To != User.Identity.Name && !Recipients.Contains(messages[i].To)) { Recipients.Add(messages[i].To); } } foreach (var recipient in Recipients) { List<MessagesModel> item = new List<MessagesModel>(); for (int i = 0; i < messages.Count(); i++) { if (messages[i].From.Contains(recipient) || messages[i].To.Contains(recipient)) { item.Add(messages[i]); } } organizedMessages.Add(item); } User userlist = new User(); var listUsers = userlist.AllUsers(); List<SelectListItem> obj = new List<SelectListItem>(); int count = 0; foreach (var item in listUsers) { if (User.Identity.Name != item.UserName) { obj.Add(new SelectListItem { Text = item.UserName, Value = count.ToString() }); count++; } } ViewBag.data = obj; MessagePageModel m = new MessagePageModel(); m.organizedMessages = organizedMessages; return PartialView(m); }
public JsonResult MarkRead() { if (User.Identity.IsAuthenticated) { MessagesModel message = new MessagesModel(); message.MarkAsRead(User.Identity.Name); } return Json(true); }
public JsonResult SendMessage(string message, string to) { MessagesModel _message = new MessagesModel(); _message.SendMessage(to, User.Identity.Name, message, System.DateTime.Now); return Json(true); }
public List<MessagesModel> RecieveMessages(string username) { List<MessagesModel> allMessages = new List<MessagesModel>(); using (var cn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|Database.mdf;Integrated Security=True")) { string _sql = @"SELECT * FROM [dbo].[Messages] WHERE [To] = @u OR [From] = @u"; var cmd = new SqlCommand(_sql, cn); cmd.Parameters .Add(new SqlParameter("@u", SqlDbType.NVarChar)) .Value = username; cn.Open(); var reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { MessagesModel message = new MessagesModel(); message.To = reader["To"].ToString(); message.From = reader["From"].ToString(); message.Message = reader["Message"].ToString(); message.TimeStamp = Convert.ToDateTime(reader["TimeStamp"].ToString()); message.HasSeen = Convert.ToBoolean(reader["HasSeen"].ToString()); allMessages.Add(message); } } } return allMessages; }