// GET /api/clients/a42076d0-9728-48d9-ba6b-c6ed722fb49e public ClientResponse Get(Guid clientId) { var queries = new ClientQueries(); var client = queries.GetClient(new GetClientQuery() { ClientId = clientId }); if (client == null) throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound)); var response = new ClientResponse() { ClientId = client.ClientId, NotificationUri = client.NotificationChannel, Subscriptions = client.Subscriptions.Select(s => new SubscriptionResponse() { ClientId = client.ClientId, SubscriptionId = s.SubscriptionId, NotificationKind = ((Server.Domain.NotificationKind)s.NotificationKind).ToString(), ParamUri = s.ParamUri }).ToArray() }; _applier.Apply(Request, response); foreach(var sub in response.Subscriptions) _applier.Apply(Request, sub); return response; }
public SubscriptionResponse Get(Guid clientId, Guid subscriptionId) { var queries = new ClientQueries(); var query = new GetSubscriptionQuery() {ClientId = clientId, SubscriptionId = subscriptionId}; var subscription = queries.GetSubscription(query); if (subscription == null) throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound)); var response = new SubscriptionResponse() { ClientId = subscription.ClientId, SubscriptionId = subscription.SubscriptionId, NotificationKind = ((Server.Domain.NotificationKind) subscription.NotificationKind).ToString(), ParamUri = subscription.ParamUri, ExtendedInformation = subscription.ExtendedInformation.ToDictionary(ei => ei.Key, ei => ei.Value) }; _applier.Apply(Request, response); return response; }