public ActionResult Create(Fornecedor p) { Empresa empresa = empresaREP.GetByName(p.Empresa); if (Validador.ValidaCPF(p.CpfCnpj)) { p.Tipo = 0; if (string.IsNullOrWhiteSpace(p.RG)) { ModelState.AddModelError("RG", "Para cadastro de pessoa fisica é necessario informar o RG."); return(View()); } if (string.IsNullOrWhiteSpace(p.DataNascimento.ToString())) { ModelState.AddModelError("DataNascimento", "Para cadastro de pessoa fisica é necessario informar a Data de nascimento."); return(View()); } if (p.DataNascimento.ToString().Equals("01/01/0001 00:00:00")) { ModelState.AddModelError("DataNascimento", "Para cadastro de pessoa fisica é necessario informar a data de nascimento."); return(View()); } if (Validador.CalcularIdade(p.DataNascimento) < 18 && empresa.UF.ToUpper().Equals("PR")) { ModelState.AddModelError("DataNascimento", "Para empresas do Paraná não é permitido cadastro de fornecedores menores de idade."); return(View()); } } else if (Validador.ValidaCNPJ(p.CpfCnpj)) { p.Tipo = 1; if (string.IsNullOrWhiteSpace(p.RG)) { p.RG = ""; } if (p.DataNascimento.ToString().Equals("01/01/0001 00:00:00")) { p.DataNascimento = new DateTime(1900, 01, 01); } } else { ModelState.AddModelError("CpfCnpj", "Informe um CPF ou CNPJ válido."); return(View()); } if (ModelState.IsValid) { repositorio.Save(p); return(RedirectToAction("../Empresa/Fornecedores/" + empresaREP.GetByName(p.Empresa).Id)); } else { return(View(p)); } }