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); } }
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); }
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); } }
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.")); } }
/// <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); } }