public List <ArrayList> GetUserDialogs(string hach) { List <ArrayList> list = new List <ArrayList>(); int id = swh.GetIdUserByHach(hach); using (UserContext db1 = new UserContext()) { foreach (var c in db1.Contacts) { if (c.idUser == id && c.idUserContact != id) { LastMessageC message = swh.GetLastUserMessage(id, c.idUserContact); if (message != null) { list.Add(Package.PackageClass(message)); } } else if (c.idUserContact == id && c.idUser != id) { LastMessageC message = swh.GetLastUserMessage(id, c.idUser); if (message != null) { list.Add(Package.PackageClass(message)); } } } } return(list); }
public static object Upackage(ArrayList list) { if (list != null) { switch ((string)list[0]) { case "UserC": { UserC user = new UserC { email = (string)list[1], name = (string)list[2], phone = (string)list[3], surname = (string)list[4], userName = (string)list[5] }; return(user); } case "MessageC": { MessageC message = new MessageC { message = (string)list[1], id = (int)list[2], idReseiver = (int)list[3], idSender = (int)list[4], idUserMessage = (int)list[5], status = (int)list[6], time = (string)list[7] }; return(message); } case "LastMessageC": { LastMessageC message = new LastMessageC { message = (string)list[1], id = (int)list[2], idReseiver = (int)list[3], idSender = (int)list[4], idUserMessage = (int)list[5], status = (int)list[6], time = (string)list[7], CountNewMessage = (int)list[8] }; return(message); } default: return(null); } } return(null); }
public LastMessageC GetLastUserMessage(int idUser, int idLastUser) { DateTime max = new DateTime(1970, 1, 1, 0, 0, 0); LastMessageC message = null; int CountNewMessage = 0; using (UserContext db = new UserContext()) { foreach (var m in db.Messages) { if ((m.idUserMessage == idUser) && (m.idReseiver == idLastUser || m.idSender == idLastUser)) { if (DateTime.Parse(m.time) > max) { message = new LastMessageC(); max = DateTime.Parse(m.time); message.message = m.message; message.id = m.id; message.idReseiver = m.idReseiver; message.idSender = m.idSender; message.idUserMessage = m.idUserMessage; message.status = m.status; message.time = m.time; } if (message != null && message.status == 1) { CountNewMessage++; } } } } if (message != null) { message.CountNewMessage = CountNewMessage; } return(message); }
public int GetLastIdLastUser(string hach) { int max = -1; List <ArrayList> list = new List <ArrayList>(); int id = swh.GetIdUserByHach(hach); using (UserContext db1 = new UserContext()) { foreach (var c in db1.Contacts) { if (c.idUser == id && c.idUserContact != id) { LastMessageC message = swh.GetLastUserMessage(id, c.idUserContact); if (message != null) { if (message.id > max) { max = message.id; } } } else if (c.idUserContact == id && c.idUser != id) { LastMessageC message = swh.GetLastUserMessage(id, c.idUser); if (message != null) { if (message.id > max) { max = message.id; } } } } } return(max); }
public int GetIdSecondUser(LastMessageC message) { return(message.idUserMessage == message.idSender ? message.idReseiver : message.idSender); }