示例#1
0
        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));
        }
示例#2
0
        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);
            }
        }