public ActionResult Create([Bind(Include = "ID_FORNECEDOR,ID_EMPRESA,NOME,CPFCNPJ,DHCADASTRO")] Fornecedor fornecedor, [Bind(Include = "ID_FORNECEDOR,RG,DTNASCIMENTO")] FornecedorPF fornecedorpf)
        {
            if (ModelState.IsValid)
            {
                fornecedor.Empresa = db.Empresa.Find(fornecedor.ID_EMPRESA);


                if (
                    (fornecedor.Empresa.UF == "RJ" || fornecedor.Empresa.UF == "MG" || fornecedor.Empresa.UF == "RS")
                    &&
                    (fornecedor.CPFCNPJ.Length == 11)
                    &&
                    (DateTime.Now.Year - fornecedorpf.DTNASCIMENTO.Year) < 18
                    )
                {
                    ModelState.AddModelError("Validacao", "O fornecedor deve ter idade maior que 18 anos");
                    return(RedirectToAction(nameof(Create)));
                }

                fornecedor.DHCADASTRO = DateTime.Now;
                db.Fornecedor.Add(fornecedor);
                db.SaveChanges();


                fornecedorpf.ID_FORNECEDOR = fornecedor.ID_FORNECEDOR;
                db.FornecedorPF.Add(fornecedorpf);
                db.SaveChanges();


                return(RedirectToAction("Index"));
            }

            ViewBag.ID_EMPRESA    = new SelectList(db.Empresa, "ID_EMPRESA", "NOME_FANTASIA", fornecedor.ID_EMPRESA);
            ViewBag.ID_FORNECEDOR = new SelectList(db.FornecedorPF, "ID_FORNECEDOR", "NOME", fornecedor.ID_FORNECEDOR);
            return(View(fornecedor));
        }
Exemple #2
0
      public object InsertFornecedor(string empresa, string nomefornecedor, string cpf, string telefone, string cnpj, string rg, DateTime?datanascimento)
      {
          var chars       = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
          var stringChars = new char[20];
          var random      = new Random();

          for (int i = 0; i < stringChars.Length; i++)
          {
              stringChars[i] = chars[random.Next(chars.Length)];
          }

          var securityhash = stringChars[0].ToString() + stringChars[1].ToString() + stringChars[2].ToString() + stringChars[3].ToString() + stringChars[4].ToString() + stringChars[5].ToString() + stringChars[6].ToString() + stringChars[7].ToString() + stringChars[8].ToString() + stringChars[9].ToString() + stringChars[10].ToString() + stringChars[11].ToString() + stringChars[12].ToString() + stringChars[13].ToString() + stringChars[14].ToString() + stringChars[15].ToString() + stringChars[16].ToString() + stringChars[17].ToString() + stringChars[18].ToString() + stringChars[19].ToString();

          var data       = DateTime.Now;
          var datamin    = data.AddYears(-18);
          var maioridade = 0;

          if (datanascimento < datamin)
          {
              maioridade = 1;
          }
          ViewBag.GetEmpresas = _empresa.GetAll();


          if (empresa == null)
          {
              empresa = " , , ";
          }

          var empresaformat = empresa.Split(',');
          var separaempresa = empresaformat[0];
          int separauf      = 2;

          if (empresaformat[1] == null || empresaformat[1] == " ")
          {
              separauf = Convert.ToInt32(separauf);
          }
          else
          {
              separauf = Convert.ToInt32(empresaformat[0].Trim(' '));
          }



          if (separaempresa == "" || separaempresa == null || nomefornecedor == "" || empresaformat[1] == null || empresaformat[1] == " " || nomefornecedor == null || ((cpf == "" || cpf == null) && (cnpj == "" || cnpj == null)) || telefone == "" || telefone == null || (maioridade < 1 && separauf == 1) || separauf == 2)
          {
              ModelState.AddModelError("", "Por favor, verifique o(s) seguinte(s) campo(s):");
              if (separaempresa == "" || separaempresa == null)
              {
                  ModelState.AddModelError("", "UF");
              }
              if (empresaformat[1] == null || empresaformat[1] == " ")
              {
                  empresaformat[1] = " 0";
              }
              if (empresaformat[0] == null || empresaformat[1] == "")
              {
                  empresaformat[0] = " ";
              }
              if (separauf == 2)
              {
                  ModelState.AddModelError("", "Empresa");
              }
              if (nomefornecedor == "" || nomefornecedor == null)
              {
                  ModelState.AddModelError("", "Nome Fantasia.");
              }

              if (telefone == "" || telefone == null)
              {
                  ModelState.AddModelError("", "Telefone.");
              }
              if (empresaformat[2] == null || empresaformat[2] == "")
              {
                  empresaformat[2] = "este estado.";
              }
              if (datanascimento > datamin)
              {
                  ModelState.AddModelError("", "Não é possível cadastrar menor de idade em " + empresaformat[2] + " como pessoa física.");
              }


              return(View("CadastroFornecedor", ViewBag.GetEmpresas));
          }


          Fornecedor fornecedor = new Fornecedor();

          fornecedor.CPFCNPJ = cnpj;
          if (cpf != null && cnpj == "")
          {
              FornecedorPF fornecedorPFs = new FornecedorPF();
              if (datanascimento == null)
              {
                  fornecedorPFs.DataNascimento = datamin.AddMonths(1);
              }
              else if (datanascimento != null)
              {
                  fornecedorPFs.DataNascimento = datanascimento;
              }
              fornecedorPFs.RG           = rg;
              fornecedorPFs.CPF          = cpf;
              fornecedorPFs.SecurityHash = securityhash;
              _fornecedorpf.Add(fornecedorPFs);
              fornecedor.CPFCNPJ = cpf;
          }


          fornecedor.Empresa        = empresaformat[1];
          fornecedor.NomeFornecedor = nomefornecedor;
          fornecedor.DataCadastro   = DateTime.Now;
          fornecedor.Telefone       = telefone;
          fornecedor.SecurityHash   = securityhash;
          _fornecedor.Add(fornecedor);

          return(RedirectToAction("CadastroFornecedor", "Home"));
      }