コード例 #1
0
        public IEnumerable <Model.Beer> GetMany(IRequestContext context)
        {
            var officeId      = context.UriParameters.GetByName <int>("OfficeID").EnsureValue();
            var linkParameter = new BeerLinkParameter(officeId);

            context.LinkParameters.Set(linkParameter);

            return(_beerService.GetAll(officeId)
                   .Select(_toResourceMapper.Map));
        }
コード例 #2
0
        public async Task <Model.Beer> GetAsync(int id, IRequestContext context, CancellationToken cancellation)
        {
            var officeId      = context.UriParameters.GetByName <int>("OfficeID").EnsureValue();
            var linkParameter = new BeerLinkParameter(officeId);

            context.LinkParameters.Set(linkParameter);

            return
                (_toResourceMapper.Map(
                     await _beerService.GetBeerById(id, officeId)));
        }
コード例 #3
0
        public Task <ResourceCreationResult <Model.Beer, int> > CreateAsync(Model.Beer resource, IRequestContext context, CancellationToken cancellation)
        {
            var officeId      = context.UriParameters.GetByName <int>("OfficeID").EnsureValue();
            var linkParameter = new BeerLinkParameter(officeId);

            resource.OfficeID = officeId;
            context.LinkParameters.Set(linkParameter);

            var newBeer = _beerService.Add(_toTransportMapper.Map(resource));

            return(Task.FromResult(new ResourceCreationResult <Model.Beer, int>(_toResourceMapper.Map(newBeer))));
        }
コード例 #4
0
        public Task <Model.Beer> UpdateAsync(Model.Beer resource, IRequestContext context, CancellationToken cancellation)
        {
            var officeId      = context.UriParameters.GetByName <int>("OfficeID").EnsureValue();
            var linkParameter = new BeerLinkParameter(officeId);

            resource.OfficeID = officeId;
            context.LinkParameters.Set(linkParameter);

            var originalBeer = _toResourceMapper.Map(_beerService.GetBeerById(resource.Id, officeId).Result);
            var resultBeer   = context.MergeResource(resource, originalBeer);

            _beerService.Update(_toTransportMapper.Map(resultBeer));
            return(Task.FromResult(resource));
        }