public IHttpActionResult Put([FromUri] int id, [FromBody] Funcionario funcionario)
        {
            try
            {
                if (id <= 0)
                {
                    return(BadRequest($"Identificador {id} inválido"));
                }

                Funcionario funcionarioEntity = _funcionarioService.Find(id);

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

                _funcionarioService.Edit(FuncionarioHelpers.DePara(funcionarioEntity, funcionario));

                return(Ok(FuncionarioHelpers.DePara(funcionarioEntity)));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
 public IHttpActionResult Get([FromUri] int page_size, [FromUri] int page)
 {
     try
     {
         IEnumerable <Funcionario> funcionarios = _funcionarioService.Paged(page_size, page);
         return(Ok(FuncionarioHelpers.Paged(funcionarios.ToList(), _funcionarioService.Count(), page, page_size)));
     }
     catch (Exception ex)
     {
         return(InternalServerError(ex));
     }
 }
        public IHttpActionResult Post([FromBody] Funcionario funcionario)
        {
            try
            {
                string campoInvalido = string.Empty;
                if (!FuncionarioHelpers.RequestValido(funcionario, out campoInvalido))
                {
                    return(BadRequestCampoObrigatorio(campoInvalido));
                }

                return(Ok(FuncionarioHelpers.DePara(_funcionarioService.Add(funcionario))));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }