Готовый Алгоритм есть
| Код | using System; using System.Collections; using conf.App_Code.Domain; using conf.App_Code.Utils; namespace conf.App_Code.Rpc { public class Chat : Users { Users user; public Chat( Users user ) { this.user = user; } int chatID = 0; int statusID; string fileName; public string FileName { get { return fileName; } set { fileName = value; } } public int ChatID { get { return chatID; } set { chatID = value; } } public int StatusID { get { return statusID; } set { statusID = value; } } [color=red] Hashtable h = new Hashtable();[/color] //Hashtable dat = new Hashtable(); string registr = ""; public void reg() { chatID = user.Id; //try { h.Add("" + user.Id, "Connect..."); } //catch { h[di] = "1"; } } public void send(string uid, string message ) { if (registr.Contains("" + uid + ",")) { h[uid] = "" + h[uid] + "\n" + message; //dat[uid] = "" + dat[uid] + "\n" + DateTime.Now; } else { registr += "" + uid + ","; try { h.Add(uid, message); //dat.Add(uid, DateTime.Now); } catch { h[uid] = "" + h[uid] + "\n" + message; //dat[uid] = "" + dat[uid] + "\n" + DateTime.Now; } } } public string[] receive() { foreach (string s in registr.Split(',')) { string temp = "" + h[s]; //string vaqt = "" + dat[s]; registr.Replace(s + ',', ""); h.Remove(s); //dat.Remove(s); return new string[] { s, temp }; // return new string[] { s, temp, vaqt }; } return null; } public ArrayList getChatListOnLine(string endDate) { return ChatAdapter.getListOnLine(user.Id, endDate); } public ArrayList getChatList( ) { return ChatAdapter.getList(user.Id); } public class ChatList : MarshalByRefObject { int uid; public int Uid { get { return uid; } set { uid = value; } } int depId; public int DepId { get { return depId; } set { depId = value; } } string dep_uname; public string Dep_uname { get { return dep_uname; } set { dep_uname = value; } } string dep_rname; public string Dep_rname { get { return dep_rname; } set { dep_rname = value; } } string dep_ename; public string Dep_ename { get { return dep_ename; } set { dep_ename = value; } } string userName; public string UserName { get { return userName; } set { userName = value; } } string endDate; public string EndDate { get { return endDate; } set { endDate = value; } } public ChatList() { } public ChatList( object[] obj ) { if (obj != null) { Get g = new Get(obj); depId = g.getInt32(); uid = g.getInt32(); dep_uname = g.getString(); dep_rname = g.getString(); dep_ename = g.getString(); userName = g.getString(); endDate = g.getString(); } } public ArrayList Convertor( ArrayList ar ) { int i = -1, n = ar.Count; while (++i < n) { ar[i] = new ChatList((object[])ar[i]); } return ar; } } } }
|
|