public string Cadastrar(FuncionarioModelCadastro model)
        {
            try
            {
                Funcionario f = new Funcionario();
                f.Endereco = new Endereco();

                f.Nome            = model.Nome;
                f.Salario         = model.Salario;
                f.DataAdmissao    = model.DataAdmissao;
                f.TipoContratacao = (TipoContratacao)
                                    Enum.Parse(typeof(TipoContratacao), model.TipoContratacao);
                f.Endereco.Logradouro  = model.Logradouro;
                f.Endereco.Complemento = model.Complemento;
                f.Endereco.Bairro      = model.Bairro;
                f.Endereco.Cidade      = model.Cidade;
                f.Endereco.UF          = model.UF;
                f.Endereco.Cep         = model.Cep;

                repository.Insert(f);

                return("Dados gravados.");
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
 public HttpResponseMessage Post(FuncionarioModelCadastro 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));
     }
 }
        public JsonResult Cadastrar(FuncionarioModelCadastro model)
        {
            try
            {
                FuncionarioDal d = new FuncionarioDal();

                if (ModelState.IsValid)
                {
                    if (!d.HasLogin(model.Login))
                    {
                        Funcionario f = new Funcionario();

                        f.Nome         = model.Nome;
                        f.Sobrenome    = model.Sobrenome;
                        f.Login        = model.Login;
                        f.Senha        = Criptografia.GetMD5Hash(model.Senha);
                        f.DataCadastro = DateTime.Now;

                        d.SaveOrUpdate(f);

                        return(Json("Funcionário cadastrado com sucesso."));
                    }
                    else
                    {
                        return(Json("Login indisponivel, tente outro."));
                    }
                }
                else
                {
                    return(Json("Preencha os campos corretamente."));
                }
            }
            catch (Exception e)
            {
                return(Json(e.Message));
            }
        }