public void Disconnect(int id) { ServerUser user = _serverUsers.Find(c => c.Id == id); if (user != null) { _serverUsers.Remove(user); SendMessage(user.Name + " покинул чат.", 0); } }
public int Connect(string name) { ServerUser user = new ServerUser { Id = _nextUserId, Name = name, OperationContext = OperationContext.Current }; _nextUserId++; SendMessage(user.Name + " подключился к чату.", 0); _serverUsers.Add(user); return(user.Id); }
public void SendMessage(string message, int id) { foreach (ServerUser serverUser in _serverUsers) { string answer = DateTime.Now.ToShortTimeString(); ServerUser user = _serverUsers.Find(c => c.Id == id); if (user != null) { answer = user.Name + $" ({answer}): " + message; serverUser.OperationContext.GetCallbackChannel <IServiceChatCallBack>().MessageCallBack(answer); } else { answer += ": " + message; serverUser.OperationContext.GetCallbackChannel <IServiceChatCallBack>().MessageCallBack(answer); } } }