public ActionResult Cadastrar(EmpresaViewModel empresa) { if (StringFormatUtil.SemFormatacao(empresa.CNPJ).Length < 14) { ModelState.AddModelError("empresa.Invalida", "CNPJ inválido!"); } if (ModelState.IsValid) { var novaEmpresa = new Empresa { NomeFantasia = empresa.NomeFantasia, CNPJ = StringFormatUtil.SemFormatacao(empresa.CNPJ), UF = empresa.UF.GetDescription(), }; using (var contexto = new ApplicationContext()) { contexto.Empresas.Add(novaEmpresa); contexto.SaveChanges(); } TempData["success"] = "Empresa cadastrada com sucesso!"; return(RedirectToAction("Index", "Home")); } TempData["warning"] = "Não foi possível cadastrar a empresa!"; return(View(empresa)); }
public ActionResult Cadastrar(FuncionarioViewModel funcionario, int Empresa, int recebeOpcao) { #region validações if (recebeOpcao == 1) { if (StringFormatUtil.SemFormatacao(funcionario.CpfCnpj).Length < 11) { ModelState.AddModelError("funcionario.CpfInvalido", "CPF inválido!"); } if (string.IsNullOrWhiteSpace(funcionario.Rg)) { ModelState.AddModelError("funcionario.Rg", "Para pessoa fisíca é necessário o RG"); } } if (recebeOpcao == 2 && StringFormatUtil.SemFormatacao(funcionario.CpfCnpj).Length < 14) { ModelState.AddModelError("funcionario.CnpjInvalido", "CNPJ inválido!"); } if (funcionario.DtNascimento.AddYears(18) > DateTime.Now) { using (var contexto = new ApplicationContext()) { var empresa = contexto.Empresas.SingleOrDefault(e => e.Id == Empresa); if (empresa.UF.Equals("PR")) { ModelState.AddModelError("funcionario.Menor", "Para empresas do PR não é possível cadastrar um funcionário menor de idade!"); } } } #endregion if (ModelState.IsValid) { using (var contexto = new ApplicationContext()) { var novoFunc = new Funcionario { Nome = funcionario.Nome, CpfCnpj = StringFormatUtil.SemFormatacao(funcionario.CpfCnpj), DtCadastro = DateTime.Now, DtNascimento = funcionario.DtNascimento, Telefone = funcionario.Telefone, Rg = funcionario.Rg, Empresa = contexto.Empresas.SingleOrDefault(e => e.Id == Empresa) }; contexto.Funcionarios.Add(novoFunc); contexto.SaveChanges(); } TempData["success"] = "Funcionário cadastrado com sucesso!"; return(RedirectToAction("Index", "Home")); } TempData["warning"] = "Não foi possível cadastrar o funcionário!"; using (var contexto = new ApplicationContext()) { var empresas = contexto.Empresas.ToList(); ViewBag.Empresa = new SelectList( empresas, "Id", "NomeFantasia"); return(View(funcionario)); } }