public Task <Tap> GetAsync(int id, IRequestContext context, CancellationToken cancellation) { var officeId = context.UriParameters.GetByName <int>("OfficeId") .EnsureValue(() => context.CreateHttpResponseException <Office>("Office Id must be supplied in the URL", HttpStatusCode.BadRequest)); var tap = TapHelper.GetById(id, officeId); return(Task.FromResult(tap)); }
public Task <ResourceCreationResult <NewGlass, int> > CreateAsync(NewGlass resource, IRequestContext context, CancellationToken cancellation) { try { var officeId = context.UriParameters.GetByName <int>("OfficeId") .EnsureValue(() => context.CreateHttpResponseException <Office>("Office Id must be supplied in the URL", HttpStatusCode.BadRequest)); var tapId = context.UriParameters.GetByName <int>("TapId") .EnsureValue(() => context.CreateHttpResponseException <Tap>("Tap Id must be supplied in the URL", HttpStatusCode.BadRequest)); context.LinkParameters.Set(new LinksParametersSource(officeId, tapId)); TapHelper.UpdateTapById(tapId, officeId, resource.Capacity); return(Task.FromResult(new ResourceCreationResult <NewGlass, int>(resource))); } catch (Exception ex) { throw context.CreateHttpResponseException <NewGlass>(ex.Message, HttpStatusCode.BadRequest); } }