public void Execute(ISiqiServer server) { MessageToken token = null; lock (this) { if (mQueue.Count > 0) { token = mQueue.Dequeue(); } } if (mUpDesks.Count > 0) { lock (mUpDesks) { Protocol.RoomInfoDetail detail = new RoomInfoDetail(); detail.Desks = new List <Protocol.DeskInfo>(); detail.RoomID = ID; detail.RoomName = Name; detail.Success = true; foreach (IDesk item in mUpDesks) { detail.Desks.Add(item.GetInfo()); } mUpDesks.Clear(); server.Send(detail, GetAgents()); } } if (token != null) { OnExecute(token, server); } }
protected virtual void OnExecute(MessageToken token, ISiqiServer server) { //添加处理逻辑 if (token.Message is Protocol.SelectDesk) { SelectDesk(token.Message as Protocol.SelectDesk, token.UserAgent, server); } }
public void Execute(ISiqiServer server) { MessageToken token = null; lock (this) { if (mQueue.Count > 0) { token = mQueue.Dequeue(); } } if (token != null) { OnExecute(token, server); } }
private void SelectDesk(Protocol.SelectDesk e, IUserAgent agent, ISiqiServer server) { IDesk desk = Desks.FirstOrDefault(o => o.ID == e.Desk); Protocol.SelectDeskResponse response = new Protocol.SelectDeskResponse(); response.Success = true; response.Seat = e.Seat; response.Desk = e.Desk; if (desk != null) { response.Message = desk.In(agent, e.Seat); response.Success = string.IsNullOrEmpty(response.Message); } else { response.Success = false; response.Message = "桌子编号错误!"; } server.Send(response, agent); }
protected virtual void OnExecute(MessageToken token, ISiqiServer server) { //添加处理逻辑 }
protected override void OnExecute(Protocol.Talk message, ISession session, IUserAgent agent, ISiqiServer server) { if (message.To != null) { IChannel channel = server.Application.Server.GetChannel(message.To); server.Send(message, channel); } else { message.From = agent.Name; server.Send(message, agent.Room.GetAgents()); } }
public void Execute(ISiqiServer server) { MessageToken token = null; lock (this) { if (mQueue.Count > 0) token = mQueue.Dequeue(); } if (token != null) OnExecute(token, server); }