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));
 }