public async Task<IHttpActionResult> PutBreweryMember(int id, string username, BreweryMemberDto breweryMember) { var isAllowed = ClaimsAuthorization.CheckAccess("Put", "BreweryId", id.ToString()); if (!isAllowed) { return StatusCode(HttpStatusCode.Unauthorized); } if (!ModelState.IsValid) { return BadRequest(ModelState); } if (username != breweryMember.Username) { return BadRequest(); } await _breweryService.UpdateBreweryMember(id, breweryMember); return StatusCode(HttpStatusCode.NoContent); }
public async Task<IHttpActionResult> PostBreweryMember(int id, BreweryMemberDto breweryMember) { var isAllowed = ClaimsAuthorization.CheckAccess("Post", "BreweryId", id.ToString()); if (!isAllowed) { return StatusCode(HttpStatusCode.Unauthorized); } if (!ModelState.IsValid) { return BadRequest(ModelState); } var result = await _breweryService.AddBreweryMember(id, breweryMember); return Ok(result); }
public async Task<BreweryMemberDto> AddBreweryMember(int breweryId,BreweryMemberDto breweryMemberDto) { var breweryMember = Mapper.Map<BreweryMemberDto, BreweryMember>(breweryMemberDto); breweryMember.BreweryId = breweryId; await _breweryRepository.AddMemberAsync(breweryMember); var brewery = await _breweryRepository.GetSingleAsync(breweryId, "Members.Member", "Origin", "Beers", "Socials", "Beers.Beer.IBU", "Beers.Beer.ABV", "Beers.Beer.SRM", "Beers.Beer.BeerStyle"); var breweryDto = Mapper.Map<Brewery, BreweryDto>(brewery); await _breweryElasticsearch.UpdateAsync(breweryDto); await _userService.ReIndexUserElasticSearch(breweryMemberDto.Username); return breweryDto.Members.SingleOrDefault(b => b.Username.Equals(breweryMemberDto.Username)); }