示例#1
0
        public ActionResult AlterarRestaurante([FromBody] RestauranteAlteracaoCompleta restauranteAlteracaoCompleta)
        {
            var restaurante = _restauranteRepository.ObterPorId(restauranteAlteracaoCompleta.Id);

            if (restaurante == null)
            {
                return(NotFound());
            }

            var cozinha = ECozinhaHelper.ConverterDeInteiro(restauranteAlteracaoCompleta.Cozinha);

            restaurante = new Restaurante(restauranteAlteracaoCompleta.Id, restauranteAlteracaoCompleta.Nome, cozinha);
            var endereco = new Endereco(
                restauranteAlteracaoCompleta.Logradouro,
                restauranteAlteracaoCompleta.Numero,
                restauranteAlteracaoCompleta.Cidade,
                restauranteAlteracaoCompleta.UF,
                restauranteAlteracaoCompleta.Cep);

            restaurante.AtribuirEndereco(endereco);

            if (!restaurante.Validar())
            {
                return(BadRequest(
                           new
                {
                    errors = restaurante.ValidationResult.Errors.Select(_ => _.ErrorMessage)
                }));
            }

            if (!_restauranteRepository.AlterarCompleto(restaurante))
            {
                return(BadRequest(new
                {
                    errors = "Nenhum documento foi alterado"
                }));
            }

            return(Ok(
                       new
            {
                data = "Restaurante alterado com sucesso"
            }
                       ));
        }