Ejemplo n.º 1
0
        public Task <ResourceCreationResult <PourBeer, int> > CreateAsync(PourBeer resource, IRequestContext context, CancellationToken cancellation)
        {
            _repository = new BeeerTapRepository();

            var tapId = context.UriParameters.GetByName <int>("TapId").EnsureValue(() => context.CreateHttpResponseException <Tap>("The TapId must be supplied in the URI", HttpStatusCode.BadRequest));

            Keg k = _repository.GetKegByTapId(tapId);

            if (k.Remaining < resource.Glass.AmountToPour)
            {
                throw new Exception("Not enough beer in this Tap!!!!!");
            }

            //Add new Glass
            resource.Id          = tapId;
            resource.Glass.TapId = tapId;
            Glass g = _repository.AddGlass(resource.Glass);

            //Update the Keg
            _repository.UpdateKegByGlass(g);


            //Get the Tap for reference
            Tap t = _repository.GetTapById(tapId);

            resource.Tap = t;


            return(Task.FromResult(new ResourceCreationResult <PourBeer, int>(resource)));
        }
Ejemplo n.º 2
0
        public Task <ResourceCreationResult <Office, int> > CreateAsync(Office resource, IRequestContext context, CancellationToken cancellation)
        {
            _repository = new BeeerTapRepository();
            Office office = _repository.AddOffice(resource);


            return(Task.FromResult(new ResourceCreationResult <Office, int>(resource)));
        }
Ejemplo n.º 3
0
        public Task <IEnumerable <Tap> > GetManyAsync(IRequestContext context, CancellationToken cancellation)
        {
            var officeId = context.UriParameters.GetByName <int>("OfficeId").EnsureValue(() => context.CreateHttpResponseException <Tap>("The officeId must be supplied in the URI", HttpStatusCode.BadRequest));

            _repository = new BeeerTapRepository();

            return(Task.FromResult(_repository.GetTaps(officeId)));
        }
Ejemplo n.º 4
0
        public Task DeleteAsync(ResourceOrIdentifier <Tap, int> input, IRequestContext context, CancellationToken cancellation)
        {
            _repository = new BeeerTapRepository();
            var tapId = context.UriParameters.GetByName <int>("Id").EnsureValue(() => context.CreateHttpResponseException <Tap>("The officeId must be supplied in the URI", HttpStatusCode.BadRequest));



            _repository.UpdateKeg(tapId);
            _repository.RemoveTap(tapId);
            return(Task.FromResult <Tap>(null));
        }
Ejemplo n.º 5
0
        public Task <ResourceCreationResult <Tap, int> > CreateAsync(Tap resource, IRequestContext context, CancellationToken cancellation)
        {
            _repository = new BeeerTapRepository();

            Keg keg = resource.Keg;
            //  resource.Keg = null;

            Tap tap = resource;

            tap = _repository.AddTap(resource);

            if (keg != null)
            {
                keg.TapId = tap.Id;
                _repository.ReplaceKeg(resource.Keg);
            }


            return(Task.FromResult(new ResourceCreationResult <Tap, int>(resource)));
        }
Ejemplo n.º 6
0
        public Task <ResourceCreationResult <Keg, int> > CreateAsync(Keg resource, IRequestContext context, CancellationToken cancellation)
        {
            _repository = new BeeerTapRepository();
            Keg k;
            var tapId = context.UriParameters.GetByName <int>("TapId").EnsureValue(() => context.CreateHttpResponseException <Tap>("The TapId must be supplied in the URI", HttpStatusCode.BadRequest));

            resource.TapId = tapId;

            //check if Tap exist.
            if (_repository.GetTapById(tapId) != null)
            {
                k = _repository.ReplaceKeg(resource);
            }
            else
            {
                throw  new Exception("Tap doesn't exist. Cannot replace keg.");
            }

            return(Task.FromResult(new ResourceCreationResult <Keg, int>(k)));
        }
Ejemplo n.º 7
0
 public Task DeleteAsync(ResourceOrIdentifier <Office, int> input, IRequestContext context, CancellationToken cancellation)
 {
     _repository = new BeeerTapRepository();
     _repository.RemoveOffice(input.Resource);
     return(Task.FromResult <Office>(null));
 }
Ejemplo n.º 8
0
 public Task <Office> UpdateAsync(Office resource, IRequestContext context, CancellationToken cancellation)
 {
     _repository = new BeeerTapRepository();
     return(Task.FromResult(_repository.UpdateOffice(resource)));
 }
Ejemplo n.º 9
0
 public Task <IEnumerable <Office> > GetManyAsync(IRequestContext context, CancellationToken cancellation)
 {
     _repository = new BeeerTapRepository();
     return(Task.FromResult(_repository.GetOffices()));
 }
Ejemplo n.º 10
0
        public Task <Office> GetAsync(int id, IRequestContext context, CancellationToken cancellation)
        {
            _repository = new BeeerTapRepository();

            return(Task.FromResult(_repository.GetOfficeById(id)));
        }