public HttpResponseMessage Create(Facade.SubscriptionPost subscription) { return(ProcessPost(() => { var instance = subscription.ToModel(); createCommand.Execute(instance); return ResourceLocation.OfSubscription(instance.Id.Value); })); }
static public Subscription ToModel(this Facade.SubscriptionPost from) { if (from == null) { return(null); } var kind = from.TopicId.HasValue ? TargetKind.Topic : (from.GroupId.HasValue ? TargetKind.Group : TargetKind.None); var id = from.TopicId.HasValue ? from.TopicId.Value.ToModel() : (from.GroupId.HasValue ? from.GroupId.Value.ToModel() : new Identity?()); return(new Subscription { Callback = from.Callback.ToModel(), TargetId = id, TargetKind = kind }); }