Esempio n. 1
0
        public ActionResult IncluirFuncionario(int id, FormCollection collection)
        {
            Funcionario Funcionario = new Funcionario();

            try
            {
                if (collection.HasKeys())
                {
                    if (id != 0)
                    {
                        Funcionario = FuncionarioBusiness.Obter(id);
                    }

                    Funcionario.Nome           = collection["Nome"];
                    Funcionario.DataNascimento = DateTime.Parse(collection["DataNascimento"]);
                    Funcionario.CPF            = collection["CPF"];
                    Funcionario.RG             = collection["RG"];

                    if (User.IsInRole(TCC.CL.Core.Seguranca.RoleManager.Administrador))
                    {
                        TipoFuncionarioEnum tipoFuncionario = (TipoFuncionarioEnum)int.Parse(collection["TipoFuncionario"]);
                        Funcionario.TipoFuncionario = tipoFuncionario;
                        Funcionario.Usuario.Grupo   = tipoFuncionario == TipoFuncionarioEnum.Administrador ? Grupo.Administrador : Grupo.Funcionario;
                    }

                    Funcionario.UF          = (UF)int.Parse(collection["UF"]);
                    Funcionario.Cidade      = collection["Cidade"];
                    Funcionario.Bairro      = collection["Bairro"];
                    Funcionario.Logradouro  = collection["Logradouro"];
                    Funcionario.Numero      = int.Parse(collection["Numero"]);
                    Funcionario.Complemento = collection["Complemento"];
                    Funcionario.Cep         = collection["CEP"];
                    Funcionario.Ativo       = true;

                    if (!string.IsNullOrEmpty(collection["Usuario.Senha"]) &&
                        !string.IsNullOrEmpty(collection["ConfirmaSenha"]) &&
                        (collection["Usuario.Senha"] == collection["ConfirmaSenha"]))
                    {
                        Funcionario.Usuario.Login = collection["Usuario.Login"];
                        Funcionario.Usuario.Senha = collection["Usuario.Senha"];
                    }

                    foreach (var key in collection.AllKeys.Where(x => x.Contains("Telefone")))
                    {
                        if (Funcionario.Telefones.Where(x => x.Key.Equals(key)).Count() > 0 && id != 0)
                        {
                            Funcionario.Telefones.FirstOrDefault(x => x.Key.Equals(key)).Value = collection[key];
                        }
                        else if (!string.IsNullOrEmpty(collection[key]))
                        {
                            Funcionario.Telefones.Add(new Telefone(key, collection[key]));
                        }
                    }

                    FuncionarioBusiness.Add(Funcionario);
                }
            }
            catch
            {
                if (Funcionario.TipoFuncionario != TipoFuncionarioEnum.Moderador)
                {
                    return(RedirectToAction("Funcionarios"));
                }
                else
                {
                    return(RedirectToAction("Index", "Home", new { area = "" }));
                }
            }

            if (Funcionario.TipoFuncionario != TipoFuncionarioEnum.Moderador)
            {
                return(RedirectToAction("Funcionarios"));
            }
            else
            {
                return(RedirectToAction("Index", "Home", new { area = "" }));
            }
        }