Exemplo n.º 1
0
        public string GerarLinhaCargaCriarFornecedorRetorno()
        {
            try
            {
                StringBuilder Linha = new StringBuilder();
                Linha.Append("1;");
                limitarTamanhoPropriedade(CodigoSolicitacao, 6, this.CodigoSolicitacao, Linha);
                Linha.Append("1234567890123456;");
                limitarTamanhoPropriedade(Empresa, 4, this.Empresa, Linha);
                limitarTamanhoPropriedade(GrupoContas, 4, this.GrupoContas, Linha);
                limitarTamanhoPropriedade(OrganizacaoCompras, 4, this.OrganizacaoCompras, Linha);
                this.CNPJ = CNPJ != null?CNPJ.Replace(".", "") : CNPJ;

                limitarTamanhoPropriedade(CNPJ, 16, this.CNPJ, Linha);
                this.CPF = CPF != null?CPF.Replace(".", string.Empty) : CPF;

                limitarTamanhoPropriedade(CPF, 11, this.CPF, Linha);
                Linha.Append("0;");
                Linha.Append(";");
                return(Linha.ToString());
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
Exemplo n.º 2
0
        public ModelStateDictionary ValidarCriacaoFornecedor()
        {
            ModelStateDictionary ModelState = new ModelStateDictionary();

            ModelState.Clear();

            if (!string.IsNullOrEmpty(Email))
            {
                if (!Validacao.ValidarEmail(Email))
                {
                    ModelState.AddModelError("Contato.Email", "O e-mail informado não está em um formato válido.");
                }
            }

            if (Categoria == 0)
            {
                ModelState.AddModelError("Categoria", "Informe a Categoria!");
            }

            if (TipoFornecedor == 1 || TipoFornecedor == 3)
            {
                if (CNPJ == null)
                {
                    ModelState.AddModelError("CNPJ", "CNPJ/CPF Obrigatório");
                }
                else
                {
                    if (TipoFornecedor == 1)
                    {
                        if (!Validacao.ValidaCNPJ(CNPJ.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", "")))
                        {
                            ModelState.AddModelError("CNPJ", "CNPJ Inválido");
                        }
                    }
                    else
                    {
                        if (!Validacao.ValidaCPF(CNPJ.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", "")))
                        {
                            ModelState.AddModelError("CNPJ", "CPF Inválido");
                        }
                    }
                }
            }

            return(ModelState);
        }
Exemplo n.º 3
0
        public string GerarLinhaCargaCriarFornecedor()
        {
            try
            {
                StringBuilder Linha = new StringBuilder();
                //Campo 1 - Tamanho 1
                Linha.Append((int)EnumTiposAcao.Criacao + ";");
                //Campo 2 - Tamanho 6
                limitarTamanhoPropriedade(CodigoSolicitacao, 6, this.CodigoSolicitacao, Linha);
                //Campo 3 - Tamanho 4
                limitarTamanhoPropriedade(Empresa, 4, this.Empresa, Linha);
                //Campo 4 - Tamanho 4
                limitarTamanhoPropriedade(GrupoContas, 4, this.GrupoContas, Linha);
                //Campo 5 - Tamanho 4
                limitarTamanhoPropriedade(OrganizacaoCompras, 4, this.OrganizacaoCompras, Linha);
                //Campo 6 - Tamanho 1
                this.SimplesNacional = SimplesNacional != null ? "x" : null;
                limitarTamanhoPropriedade(SimplesNacional, 1, this.SimplesNacional, Linha);
                //Campo 7 - Tamanho 35
                ValidarNomes(Linha);
                limitarTamanhoPropriedade(NomeFantasia, 20, this.NomeFantasia, Linha);
                //Campo 12 - Tamanho 10
                limitarTamanhoPropriedade(CEP, 10, this.CEP, Linha);
                //Campo 13 - Tamanho 35     Localidade Maiusculo p/ determinar Domicilio Fiscal
                limitarTamanhoPropriedade(Cidade, 35, this.Cidade, Linha);
                //Campo 14 - Tamanho 10     Quebrar conforme ADRC, rua, número, Compl.
                limitarTamanhoPropriedade(TipoLogradouro, 10, this.TipoLogradouro, Linha);
                //Campo 15 - Tamanho 60
                limitarTamanhoPropriedade(Rua, 60, this.Rua, Linha);
                //Campo 16 - Tamanho 10
                limitarTamanhoPropriedade(Numero, 10, this.Numero, Linha);
                //Campo 17 - Tamanho 10
                limitarTamanhoPropriedade(Complemento, 10, this.Complemento, Linha);
                //Campo 18 - Tamanho 40
                limitarTamanhoPropriedade(Bairro, 40, this.Bairro, Linha);
                //Campo 19 - Tamanho 2
                limitarTamanhoPropriedade(Estado, 2, this.Estado, Linha);
                //Campo 20 - Tamanho 30     Considerar Tel1
                limitarTamanhoPropriedade(Telefone, 30, this.Telefone, Linha);
                //Campo 21 - Tamanho 241
                limitarTamanhoPropriedade(EnderecoMail, 241, this.EnderecoMail, Linha);
                //Campo 22 - Tamanho 30
                limitarTamanhoPropriedade(TelefoneCelular, 30, this.TelefoneCelular, Linha);
                //Campo 23 - Tamanho 10
                limitarTamanhoPropriedade(Cliente, 10, this.Cliente, Linha);
                //Campo 24 - Tamanho 4
                limitarTamanhoPropriedade(GrupoEmpresas, 4, this.GrupoEmpresas, Linha);
                //Campo 25 - Tamanho 16     sem pontos
                this.CNPJ = CNPJ != null?CNPJ.Replace(".", "") : CNPJ;

                limitarTamanhoPropriedade(CNPJ, 16, this.CNPJ, Linha);
                //Campo 26 - Tamanho 11     sem pontos
                this.CPF = CPF != null?CPF.Replace(".", string.Empty) : CPF;

                limitarTamanhoPropriedade(CPF, 11, this.CPF, Linha);
                //Campo 27 - Tamanho 18
                this.InscricaoEstadual = InscricaoEstadual != "ativo" ? "isento" : InscricaoEstadual;
                limitarTamanhoPropriedade(InscricaoEstadual, 18, this.InscricaoEstadual, Linha);
                //Campo 28 - Tamanho 18
                limitarTamanhoPropriedade(InscricaoMunicipal, 18, this.InscricaoMunicipal, Linha);
                //Campo 29 - Tamanho 3
                limitarTamanhoPropriedade(Banco, 3, this.Banco, Linha);
                //Campo 30 - Tamanho 4
                limitarTamanhoPropriedade(Agencia, 4, this.Agencia, Linha);
                //Campo 31 - Tamanho 1
                limitarTamanhoPropriedade(CodigoAgencia, 1, this.CodigoAgencia, Linha);
                //Campo 32 - Tamanho 18
                limitarTamanhoPropriedade(ContaCorrente, 18, this.ContaCorrente, Linha);
                //Campo 33 - Tamanho 2
                limitarTamanhoPropriedade(DVContaCorrente, 2, this.DVContaCorrente, Linha);
                //Campo 34 - Tamanho 30
                limitarTamanhoPropriedade("0001", 4, this.ChaveOrdenacao, Linha);
                //Campo 34 - Tamanho 30
                limitarTamanhoPropriedade(NomeContatoVendedor, 30, this.NomeContatoVendedor, Linha);
                //Campo 35 - Tamanho 16
                limitarTamanhoPropriedade(TelefoneVendedor, 16, this.TelefoneVendedor, Linha);
                //Campo 36 - Tamanho 2
                limitarTamanhoPropriedade(Pais, 2, this.Pais, Linha);
                return(Linha.ToString());
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
Exemplo n.º 4
0
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            if (value == null)
            {
                return(null);
            }

            int[] multiplicador1 = new int[12] {
                5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
            };
            int[] multiplicador2 = new int[13] {
                6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
            };

            int soma, resto;

            string digito, tempCnpj, CNPJ;

            CNPJ = value.ToString().Trim();
            CNPJ = CNPJ.Replace(".", "").Replace("-", "").Replace("/", "");

            if (CNPJ.Length != 14)
            {
                return(new ValidationResult("CNPJ Inválido."));
            }

            tempCnpj = CNPJ.Substring(0, 12);
            soma     = 0;

            for (int i = 0; i < 12; i++)
            {
                soma += int.Parse(tempCnpj[i].ToString()) * multiplicador1[i];
            }
            resto = (soma % 11);

            if (resto < 2)
            {
                resto = 0;
            }
            else
            {
                resto = 11 - resto;
            }

            digito   = resto.ToString();
            tempCnpj = tempCnpj + digito;
            soma     = 0;

            for (int i = 0; i < 13; i++)
            {
                soma += int.Parse(tempCnpj[i].ToString()) * multiplicador2[i];
            }
            resto = (soma % 11);

            if (resto < 2)
            {
                resto = 0;
            }
            else
            {
                resto = 11 - resto;
            }

            digito = digito + resto.ToString();

            if (CNPJ.EndsWith(digito))
            {
                return(null);
            }
            else
            {
                return(new ValidationResult("CNPJ Inválido."));
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Verificar se um CNPJ é válido
        /// </summary>
        /// <param name="cnpj"></param>
        /// <returns></returns>
        public static bool IsValidCnpj(string cnpj)
        {
            cnpj = RemoveNaoNumericos(cnpj);
            string CNPJ;

            CNPJ = cnpj.Replace(".", "");
            CNPJ = CNPJ.Replace("/", "");
            CNPJ = CNPJ.Replace("-", "");

            int[]  digitos, soma, resultado;
            int    nrDig;
            string ftmt;

            bool[] CNPJOk;

            ftmt         = "6543298765432";
            digitos      = new int[14];
            soma         = new int[2];
            soma[0]      = 0;
            soma[1]      = 0;
            resultado    = new int[2];
            resultado[0] = 0;
            resultado[1] = 0;
            CNPJOk       = new bool[2];
            CNPJOk[0]    = false;
            CNPJOk[1]    = false;

            try
            {
                for (nrDig = 0; nrDig < 14; nrDig++)
                {
                    digitos[nrDig] = int.Parse(
                        CNPJ.Substring(nrDig, 1));
                    if (nrDig <= 11)
                    {
                        soma[0] += (digitos[nrDig] *
                                    int.Parse(ftmt.Substring(
                                                  nrDig + 1, 1)));
                    }
                    if (nrDig <= 12)
                    {
                        soma[1] += (digitos[nrDig] *
                                    int.Parse(ftmt.Substring(
                                                  nrDig, 1)));
                    }
                }

                for (nrDig = 0; nrDig < 2; nrDig++)
                {
                    resultado[nrDig] = (soma[nrDig] % 11);
                    if ((resultado[nrDig] == 0) || (resultado[nrDig] == 1))
                    {
                        CNPJOk[nrDig] = (
                            digitos[12 + nrDig] == 0);
                    }

                    else
                    {
                        CNPJOk[nrDig] = (
                            digitos[12 + nrDig] == (
                                11 - resultado[nrDig]));
                    }
                }

                return(CNPJOk[0] && CNPJOk[1]);
            }
            catch
            {
                return(false);
            }
        }