Example #1
0
        public IActionResult NovoFuncionario([FromBody] FuncionarioDTO funcionario)
        {
            funcionario.Validate();
            if (funcionario.Invalid)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, funcionario.Notifications));
            }
            else
            {
                try
                {
                    Funcionario novoFuncionario = new Funcionario(
                        funcionario.CarteiraMotorista,
                        funcionario.CarteiraTrabalho,
                        funcionario.Celular,
                        funcionario.CPF,
                        funcionario.Login,
                        funcionario.Nome,
                        funcionario.RG,
                        funcionario.Senha,
                        funcionario.Telefone,
                        funcionario.DataNascimento,
                        funcionario.IdCargo,
                        funcionario.IdEndereco,
                        funcionario.IdFuncionario,
                        funcionario.IdPerfilAcesso);

                    FuncionarioBusiness negocio = new FuncionarioBusiness();
                    Funcionario         result  = negocio.Inserir(novoFuncionario);

                    if (result != null)
                    {
                        EnderecoBusiness negocioEndereco = new EnderecoBusiness();

                        Enderecos endCliente = new Enderecos(funcionario.Cep);
                        endCliente.Bairro               = funcionario.Bairro;
                        endCliente.Cidade               = funcionario.Cidade;
                        endCliente.Complemento          = funcionario.Complemento;
                        endCliente.Idclientefuncionario = result.Id;
                        endCliente.Logradouro           = funcionario.Logradouro;
                        endCliente.Numero               = funcionario.Numero;
                        endCliente.Pais = "Brasil";

                        endCliente = negocioEndereco.Inserir(endCliente);

                        if (endCliente.Id > 0)
                        {
                            return(StatusCode(StatusCodes.Status200OK, "Funcionário criado com sucesso!"));
                        }
                        else
                        {
                            return(BadRequest("Erro inesperado!"));
                        }
                    }
                    else
                    {
                        return(BadRequest("Funcionário já cadastrado!"));
                    }
                }
                catch (Exception)
                {
                    return(BadRequest("Erro inesperado!"));
                }
            }
        }