public string Editar(FuncionarioModelEdicao model)
        {
            try
            {
                var IdFunc         = model.IdFuncionario;
                var funcionarioEnd = repository.FindById(IdFunc);

                if (funcionarioEnd != null)
                {
                    funcionarioEnd.Nome            = model.Nome;
                    funcionarioEnd.Salario         = model.Salario;
                    funcionarioEnd.DataAdmissao    = model.DataAdmissao;
                    funcionarioEnd.TipoContratacao = (TipoContratacao)
                                                     Enum.Parse(typeof(TipoContratacao), model.TipoContratacao);
                    funcionarioEnd.Endereco.Logradouro  = model.Logradouro;
                    funcionarioEnd.Endereco.Complemento = model.Complemento;
                    funcionarioEnd.Endereco.Bairro      = model.Bairro;
                    funcionarioEnd.Endereco.Cidade      = model.Cidade;
                    funcionarioEnd.Endereco.UF          = model.UF;
                    funcionarioEnd.Endereco.Cep         = model.Cep;
                }

                repository.Update(funcionarioEnd);

                return("Dados editados.");
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
 public HttpResponseMessage Put(FuncionarioModelEdicao model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             ///<summary>
             ///Se a model passar pelas as validações retorna a resposta da requisição com o http com codigo do status Ok 200
             /// </summary>
             return(Request.CreateResponse(HttpStatusCode.OK));
         }
         else
         {
             ///<summary>
             ///Se a model não passar pelas as validações retorna a resposta da requisição com o http com codigo do status de requisição inválida 400
             /// </summary>
             return(Request.CreateResponse(HttpStatusCode.BadRequest));
         }
     }
     catch (Exception e)
     {
         ///<summary>
         ///Se cair na exeption retorna a resposta da requisição com o http com codigo do status de erro interno do servidor 500
         /// </summary>
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message));
     }
 }