public ChatMessageResponse Post(ChatMessage request) { if (request == null) throw new ArgumentNullException("request"); request.Id = idGenerator.Next(); messages.Add(request); return request.ToResponse(); }
public object Delete(ChatMessage request) { if (request == null) throw new ArgumentNullException("request"); if (request.Id == default(int)) throw new ArgumentException("Can not delete without an Id"); messages.RemoveAll(cm => cm.Id == request.Id); return new HttpResult(HttpStatusCode.NoContent); }
public ChatMessageResponse Put(ChatMessage request) { if (request == null) throw new ArgumentNullException("request"); if (request.Id == default(int)) throw new ArgumentException("Can not update without an Id"); messages.RemoveAll(cm => cm.Id == request.Id); messages.Add(request); return request.ToResponse(); }
public ChatMessageResponse Get(ChatMessage request) { if (request == null) throw new ArgumentNullException("request"); if (request.Id != default(int)) { var message = messages.SingleOrDefault(cm => cm.Id == request.Id); return message.ToResponse(); } if (!string.IsNullOrEmpty(request.Receiver)) { var msgs = messages.FindAll(cm => cm.Receiver.Equals(request.Receiver, StringComparison.OrdinalIgnoreCase)); return new ChatMessageResponse {Messages = new List<ChatMessage>(msgs)}; } var defaultMessage = new ChatMessage {Message = "Server is quite confused by your request."}; return defaultMessage.ToResponse(); }
public void Options(ChatMessage request) { }