public ActionResult Funcionario(int id) { var funcionario = FuncionarioBusiness.Obter(id); if (funcionario.Telefones.Count == 0) { funcionario.Telefones.Add(new Telefone() { Key = "Telefone_Residencial", Value = "" }); funcionario.Telefones.Add(new Telefone() { Key = "Telefone_Pessoal", Value = "" }); } return(View(funcionario)); }
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 = "" })); } }