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)); }
public async Task <IActionResult> Post([FromBody] BeerRemoval beerRemovalRequest) { if (beerRemovalRequest == null) { return(BadRequest("Not a valid Beer removal request")); } var user = $"{User.Claims.Where(c => c.Type == System.Security.Claims.ClaimTypes.GivenName).FirstOrDefault().Value} {User.Claims.Where(c => c.Type == System.Security.Claims.ClaimTypes.Surname).FirstOrDefault().Value}"; if (!(await beerService.GetUserCredits(user) > 0)) { return(BadRequest("User does not have enough credits to remove beer")); } var beer = await beerService.GetBeerById(beerRemovalRequest.BeerId); beer.RemovedDate = DateTime.Now; beer.RemovedBy = user; var currentBeers = await beerService.GetCurrentBeers(); beer.SwitchedFor = currentBeers.First(b => b.CreatedBy == user); await beerService.UpdateBeer(beer); return(Ok()); }
public async Task <IActionResult> Post([FromBody] BeerAddition beerAdditionRequest) { if (beerAdditionRequest == null) { return(BadRequest("Not a valid Beer addition request")); } Beer beer = new Beer(); beer.Name = beerAdditionRequest.BeerName; beer.CreatedBy = beerAdditionRequest.AddedBy; beer.Brewery = beerAdditionRequest.Brewery; beer.Country = beerAdditionRequest.Country; beer.AddedDate = DateTime.Now; if (beerAdditionRequest.switchedBeer.HasValue && beerAdditionRequest.switchedBeer.Value != -1) { var switchedBeer = await beerService.GetBeerById(beerAdditionRequest.switchedBeer.Value); if (switchedBeer.RemovedDate.HasValue || !string.IsNullOrEmpty(switchedBeer.RemovedBy)) { throw new Exception("invalid switched beer"); } switchedBeer.RemovedDate = DateTime.Now; switchedBeer.RemovedBy = beerAdditionRequest.AddedBy; await beerService.UpdateBeer(switchedBeer); beer.SwitchedFor = switchedBeer; } await beerService.AddBeer(beer); return(Ok()); }
public IActionResult GetById(int beerId) { var result = _beerService.GetBeerById(beerId); if (result.IsError) { return(StatusCode(422, result.Errors)); } return(Ok(result.SuccessResult)); }
public ActionResult Edit(Guid id) { var model = new BeerViewModelDetails(); model = _beerService.GetBeerById(id).ToBeerViewModelDetails(); model.BeerTypeDtoList = _beerTypeService.GetAll().ToSelectListItemList(); model.CountryDtoList = _countryService.GetAll().ToSelectListItemList(); model.CityDtoList = _cityService.GetByCountryId(model.CountryId).ToSelectListItemList(); return(View("Details", model)); }
public async Task <IActionResult> Post([FromBody] CreditTransfer creditTransfer) { var beer = await beerService.GetBeerById(creditTransfer.BeerId); if (beer == null) { return(BadRequest("invalid beerId")); } beer.CreatedBy = creditTransfer.CreditReceiver; await beerService.UpdateBeer(beer); return(Ok()); }
public ActionResult <Beer> GetByID(int ID) { try { Beer beer = BeerService.GetBeerById(ID); if (beer != null) { return(Ok(beer)); } return(NotFound()); } catch (Exception ex) { return(StatusCode(500, $"Error loading beer with ID: {ID}\nPlease try again later.")); } }
public async Task <IActionResult> Post([FromBody] CreditTransfer creditTransfer) { var beer = await beerService.GetBeerById(creditTransfer.BeerId); if (beer == null) { return(BadRequest("invalid beerId")); } var user = $"{User.Claims.Where(c => c.Type == System.Security.Claims.ClaimTypes.GivenName).FirstOrDefault().Value} {User.Claims.Where(c => c.Type == System.Security.Claims.ClaimTypes.Surname).FirstOrDefault().Value}"; if (beer.CreatedBy != user) { return(BadRequest($"Invalid beerId, Beer not owned by user {user}")); } beer.CreatedBy = creditTransfer.CreditReceiver; await beerService.UpdateBeer(beer); return(Ok()); }
public async Task <ResponseModel <BeerDetail> > GetBeerById(string id) { var result = await _beerService.GetBeerById(id); return(result); }
public async Task <Beer> Get(int id) { return(await beerService.GetBeerById(id)); }