public async Task <ActionResult <EstabelecimentoResource> > CreateEstabelecimento([FromBody] SaveEstabelecimentoResource saveEstabelecimentoResource) { var validator = new SaveEstabelecimentoResourceValidator(); var validationResult = await validator.ValidateAsync(saveEstabelecimentoResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } var estabelecimentoToCreate = _mapper.Map <SaveEstabelecimentoResource, Estabelecimento>(saveEstabelecimentoResource); var newEstabelecimento = await _estabelecimentoService.CreateEstabelecimento(estabelecimentoToCreate); var estabelecimento = await _estabelecimentoService.GetEstabelecimentoById(newEstabelecimento.Id); var estabelecimentoResource = _mapper.Map <Estabelecimento, EstabelecimentoResource>(estabelecimento); return(Ok(estabelecimentoResource)); }
public async Task <ActionResult <EstabelecimentoResource> > UpdateEstabelecimento(int id, [FromBody] SaveEstabelecimentoResource saveEstabelecimentoResource) { var validator = new SaveEstabelecimentoResourceValidator(); var validationResult = await validator.ValidateAsync(saveEstabelecimentoResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } var estabelecimentoToBeUpdated = await _estabelecimentoService.GetEstabelecimentoById(id); if (estabelecimentoToBeUpdated == null) { return(NotFound()); } var estabelecimento = _mapper.Map <SaveEstabelecimentoResource, Estabelecimento>(saveEstabelecimentoResource); await _estabelecimentoService.UpdateEstabelecimento(estabelecimentoToBeUpdated, estabelecimento); var updatedEstabelecimento = await _estabelecimentoService.GetEstabelecimentoById(id); var updatedEstabelecimentoResource = _mapper.Map <Estabelecimento, EstabelecimentoResource>(updatedEstabelecimento); return(Ok(updatedEstabelecimentoResource)); }