private bool VerificaCte() { try { bool Retorno = true; int iCountErros = 0; objListaErroAtual = new List<ErrosNotas>(); for (int i = 0; i < objObjetosAlter.objLinfCte.Count; i++) { ErrosNotas objErro = new ErrosNotas(); objObjetosAlter.objLinfCte[i].ide.nCT = Convert.ToInt32(objObjetosAlter.objLinfCte[i].ide.nCT).ToString(); objErro.sNumCte = objObjetosAlter.objLinfCte[i].ide.nCT; belinfCte objbelinfCte = objObjetosAlter.objLinfCte[i]; #region Identificacao if (objbelinfCte.ide.cUF == "") { objErro.sErro = objErro.sErro + " UF Emitente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.cCT == "") { objErro.sErro = objErro.sErro + " Código Numérico que compõe a Chave é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.CFOP == "") { objErro.sErro = objErro.sErro + " CFOP é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.natOp == "") { objErro.sErro = objErro.sErro + " Natureza da Operação é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.mod == "") { objErro.sErro = objErro.sErro + " Modelo do Documento Fiscal é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.serie == "") { objErro.sErro = objErro.sErro + " Série do CT-e é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.nCT == "") { objErro.sErro = objErro.sErro + " Número do CT-e é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.tpImp == "") { objErro.sErro = objErro.sErro + " Formato de Impressão é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.tpEmis == "") { objErro.sErro = objErro.sErro + " Formato de Emissão é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.cDV == "") { objErro.sErro = objErro.sErro + " Digito Verificador da Chave de Acesso é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.tpAmb == "") { objErro.sErro = objErro.sErro + " Tipo de Ambiente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.cMunEnv == "") { objErro.sErro = objErro.sErro + " Código do Município onde o CT-e está sendo emitido é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.xMunEnv == "") { objErro.sErro = objErro.sErro + " Nome do Município onde o CT-e está sendo emitido é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.UFEnv == "") { objErro.sErro = objErro.sErro + " Sigla da UF onde o CT-e está sendo emitido é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.modal == "") { objErro.sErro = objErro.sErro + " Modal é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.cMunIni == "") { objErro.sErro = objErro.sErro + " Código do Município de início da prestação é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.xMunIni == "") { objErro.sErro = objErro.sErro + " Nome do Município do início da prestação é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.UFIni == "") { objErro.sErro = objErro.sErro + " UF do início da prestação é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.cMunFim == "") { objErro.sErro = objErro.sErro + " Código do Município de término da prestação é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.xMunFim == "") { objErro.sErro = objErro.sErro + " Nome do Município do término da prestação é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.UFFim == "") { objErro.sErro = objErro.sErro + " UF do término da prestação é Obrigatório!" + Environment.NewLine; iCountErros++; } #endregion #region Tomador if (objbelinfCte.ide.toma03 != null) { if (objbelinfCte.ide.toma03.toma == "") { objErro.sErro = objErro.sErro + " Tomador do Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } } else if (objbelinfCte.ide.toma04 != null) { if (objbelinfCte.ide.toma04.toma == "") { objErro.sErro = objErro.sErro + " Tomador do Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.toma04.CNPJ != "") { string sCnpj = util.TiraSimbolo(objbelinfCte.ide.toma04.CNPJ); if (ValidaCnpj(sCnpj) == false) { objErro.sErro = objErro.sErro + " CNPJ Tomador do Serviço Inválido!" + Environment.NewLine; iCountErros++; } } else if (objbelinfCte.ide.toma04.CPF != "") { string sCpf = util.TiraSimbolo(objbelinfCte.ide.toma04.CPF); if (ValidaCpf(sCpf) == false) { objErro.sErro = objErro.sErro + " CPF Tomador do Serviço Inválido!" + Environment.NewLine; iCountErros++; } } else { objErro.sErro = objErro.sErro + " CPF ou CNPJ Tomador do Serviço Inválido!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.toma04.xNome == "") { objErro.sErro = objErro.sErro + " Razão Social ou Nome Tomador do Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.toma04.enderToma.xLgr == "") { objErro.sErro = objErro.sErro + " Logradouro Tomador do Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.toma04.enderToma.nro == "") { objErro.sErro = objErro.sErro + " Número Tomador do Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.toma04.enderToma.xBairro == "") { objErro.sErro = objErro.sErro + " Bairro Tomador do Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.toma04.enderToma.cMun == "") { objErro.sErro = objErro.sErro + " Código do Município Tomador do Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.toma04.enderToma.xMun == "") { objErro.sErro = objErro.sErro + " Nome do Município Tomador do Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.ide.toma04.enderToma.CEP != "") { string sCep = util.TiraSimbolo(objbelinfCte.ide.toma04.enderToma.CEP); if (ValidaCep(sCep) == false) { objErro.sErro = objErro.sErro + " CEP Tomador do Serviço Inválido!" + Environment.NewLine; iCountErros++; } } if (objbelinfCte.ide.toma04.enderToma.UF == "") { objErro.sErro = objErro.sErro + " UF Tomador do Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } } #endregion #region Emitente if (objbelinfCte.emit.CNPJ == "") { objErro.sErro = objErro.sErro + " Cnpj do Emitente é Obrigatório!" + Environment.NewLine; iCountErros++; } else { string sCpnj = util.TiraSimbolo(objbelinfCte.emit.CNPJ); if (ValidaCnpj(sCpnj) == false) { objErro.sErro = objErro.sErro + " Cnpj do Emitente Inválido!" + Environment.NewLine; iCountErros++; } } if (objbelinfCte.emit.IE == "") { objErro.sErro = objErro.sErro + " Inscrição Estadual do Emitente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.emit.xNome == "") { objErro.sErro = objErro.sErro + " Razão Social ou Nome do Emitente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.emit.enderEmit.xLgr == "") { objErro.sErro = objErro.sErro + " Logradouro do Emitente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.emit.enderEmit.nro == "") { objErro.sErro = objErro.sErro + " Número do Emitente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.emit.enderEmit.xBairro == "") { objErro.sErro = objErro.sErro + " Bairro do Emitente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.emit.enderEmit.cMun == "") { objErro.sErro = objErro.sErro + " Código do Município do Emitente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.emit.enderEmit.xMun == "") { objErro.sErro = objErro.sErro + " Nome do Município do Emitente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.emit.enderEmit.CEP != "") { string sCep = util.TiraSimbolo(objbelinfCte.emit.enderEmit.CEP); if (ValidaCep(sCep) == false) { objErro.sErro = objErro.sErro + " CEP do Emitente Inválido!" + Environment.NewLine; iCountErros++; } } if (objbelinfCte.emit.enderEmit.UF == "") { objErro.sErro = objErro.sErro + " UF do Emitente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.emit.enderEmit.fone != "") { string sFone = util.TiraSimbolo(objbelinfCte.emit.enderEmit.fone); if (ValidaFone(sFone) == false) { objErro.sErro = objErro.sErro + " Telefone do Emitente Inválido!" + Environment.NewLine; iCountErros++; } } #endregion #region Remetente if (objbelinfCte.rem.CNPJ != "") { string sCnpj = util.TiraSimbolo(objbelinfCte.rem.CNPJ); if (ValidaCnpj(sCnpj) == false) { objErro.sErro = objErro.sErro + " CNPJ Remetente Inválido!" + Environment.NewLine; iCountErros++; } } else if (objbelinfCte.rem.CPF != "") { string sCpf = util.TiraSimbolo(objbelinfCte.rem.CPF); if (ValidaCpf(sCpf) == false) { objErro.sErro = objErro.sErro + " CPF Remetente Inválido!" + Environment.NewLine; iCountErros++; } } else { objErro.sErro = objErro.sErro + " CPF ou CNPJ Remetente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.IE == "") { objErro.sErro = objErro.sErro + " Inscrição Estadual Remetente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.xNome == "") { objErro.sErro = objErro.sErro + " Nome Remetente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.enderReme.xLgr == "") { objErro.sErro = objErro.sErro + " Logradouro Remetente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.enderReme.nro == "") { objErro.sErro = objErro.sErro + " Número Endereço Remetente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.enderReme.xBairro == "") { objErro.sErro = objErro.sErro + " Bairro Remetente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.enderReme.cMun == "") { objErro.sErro = objErro.sErro + " Código Município Remetente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.enderReme.xMun == "") { objErro.sErro = objErro.sErro + " Município Remetente é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.enderReme.CEP != "") { string sCep = util.TiraSimbolo(objbelinfCte.rem.enderReme.CEP); if (ValidaCep(sCep) == false) { objErro.sErro = objErro.sErro + " CEP Remetente Inválido!" + Environment.NewLine; iCountErros++; } } if (objbelinfCte.rem.enderReme.UF == "") { objErro.sErro = objErro.sErro + " UF Remetente é Obrigatório!" + Environment.NewLine; iCountErros++; } #endregion #region Destinatario if (objbelinfCte.dest.CNPJ != "") { string sCnpj = util.TiraSimbolo(objbelinfCte.dest.CNPJ); if (ValidaCnpj(sCnpj) == false) { objErro.sErro = objErro.sErro + " CNPJ Destinatário Inválido!" + Environment.NewLine; iCountErros++; } } else if (objbelinfCte.dest.CPF != "") { string sCpf = util.TiraSimbolo(objbelinfCte.dest.CPF); if (ValidaCpf(sCpf) == false) { objErro.sErro = objErro.sErro + " CPF Destinatário Inválido!" + Environment.NewLine; iCountErros++; } } else { objErro.sErro = objErro.sErro + " CPF ou CNPJ Destinatário é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.dest.xNome == "") { objErro.sErro = objErro.sErro + " Nome Destinatário é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.dest.enderDest.xLgr == "") { objErro.sErro = objErro.sErro + " Logradouro Destinatário é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.dest.enderDest.nro == "") { objErro.sErro = objErro.sErro + " Número Destinatário é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.dest.enderDest.xBairro == "") { objErro.sErro = objErro.sErro + " Bairro Destinatário é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.dest.enderDest.cMun == "") { objErro.sErro = objErro.sErro + " Código Município Destinatário é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.dest.enderDest.xMun == "") { objErro.sErro = objErro.sErro + " Município Destinatário é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.dest.enderDest.CEP != "") { string sCep = util.TiraSimbolo(objbelinfCte.dest.enderDest.CEP); if (ValidaCep(sCep) == false) { objErro.sErro = objErro.sErro + " CEP Destinatário Inválido!" + Environment.NewLine; iCountErros++; } } if (objbelinfCte.dest.enderDest.UF == "") { objErro.sErro = objErro.sErro + " UF Destinatário é Obrigatório!" + Environment.NewLine; iCountErros++; } #endregion #region Expedidor if (objbelinfCte.exped != null) { if (objbelinfCte.exped.CNPJ != "") { string sCnpj = util.TiraSimbolo(objbelinfCte.exped.CNPJ); if (ValidaCnpj(sCnpj) == false) { objErro.sErro = objErro.sErro + " CNPJ Expedidor Inválido!" + Environment.NewLine; iCountErros++; } } else if (objbelinfCte.exped.CPF != "") { string sCpf = util.TiraSimbolo(objbelinfCte.exped.CPF); if (ValidaCpf(sCpf) == false) { objErro.sErro = objErro.sErro + " CPF Expedidor Inválido!" + Environment.NewLine; iCountErros++; } } else { objErro.sErro = objErro.sErro + " CPF ou CNPJ Expedidor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.exped.IE == "") { objErro.sErro = objErro.sErro + " Inscrição Estadual Expedidor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.exped.xNome == "") { objErro.sErro = objErro.sErro + " Nome Expedidor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.exped.enderExped.xLgr == "") { objErro.sErro = objErro.sErro + " Logradouro Expedidor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.exped.enderExped.nro == "") { objErro.sErro = objErro.sErro + " Número Endereço Expedidor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.exped.enderExped.xBairro == "") { objErro.sErro = objErro.sErro + " Bairro Expedidor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.exped.enderExped.cMun == "") { objErro.sErro = objErro.sErro + " Código Município Expedidor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.exped.enderExped.xMun == "") { objErro.sErro = objErro.sErro + " Município Expedidor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.exped.enderExped.CEP != "") { string sCep = util.TiraSimbolo(objbelinfCte.exped.enderExped.CEP); if (ValidaCep(sCep) == false) { objErro.sErro = objErro.sErro + " CEP Expedidor Inválido!" + Environment.NewLine; iCountErros++; } } if (objbelinfCte.exped.enderExped.UF == "") { objErro.sErro = objErro.sErro + " UF Expedidor é Obrigatório!" + Environment.NewLine; iCountErros++; } } #endregion #region Recebedor if (objbelinfCte.receb != null) { if (objbelinfCte.receb.CNPJ != "") { string sCnpj = util.TiraSimbolo(objbelinfCte.receb.CNPJ); if (ValidaCnpj(sCnpj) == false) { objErro.sErro = objErro.sErro + " CNPJ Recebedor Inválido!" + Environment.NewLine; iCountErros++; } } else if (objbelinfCte.receb.CPF != "") { string sCpf = util.TiraSimbolo(objbelinfCte.receb.CPF); if (ValidaCpf(sCpf) == false) { objErro.sErro = objErro.sErro + " CPF Recebedor Inválido!" + Environment.NewLine; iCountErros++; } } else { objErro.sErro = objErro.sErro + " CPF ou CNPJ Recebedor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.receb.IE == "") { objErro.sErro = objErro.sErro + " Inscrição Estadual Recebedor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.receb.xNome == "") { objErro.sErro = objErro.sErro + " Nome Recebedor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.receb.enderReceb.xLgr == "") { objErro.sErro = objErro.sErro + " Logradouro Recebedor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.receb.enderReceb.nro == "") { objErro.sErro = objErro.sErro + " Número Endereço Recebedor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.receb.enderReceb.xBairro == "") { objErro.sErro = objErro.sErro + " Bairro Recebedor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.receb.enderReceb.cMun == "") { objErro.sErro = objErro.sErro + " Código Município Recebedor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.receb.enderReceb.xMun == "") { objErro.sErro = objErro.sErro + " Município Recebedor é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.receb.enderReceb.CEP != "") { string sCep = util.TiraSimbolo(objbelinfCte.receb.enderReceb.CEP); if (ValidaCep(sCep) == false) { objErro.sErro = objErro.sErro + " CEP Recebedor Inválido!" + Environment.NewLine; iCountErros++; } } if (objbelinfCte.receb.enderReceb.UF == "") { objErro.sErro = objErro.sErro + " UF Recebedor é Obrigatório!" + Environment.NewLine; iCountErros++; } } #endregion #region Informacoes da NF for (int j = 0; j < objbelinfCte.rem.infNF.Count; j++) { if (objbelinfCte.rem.infNF[j].nDoc == "") { objErro.sErro = objErro.sErro + " Número NF é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.infNF[j].serie == "") { objErro.sErro = objErro.sErro + " Série NF é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.infNF[j].dEmi == "") { objErro.sErro = objErro.sErro + " Data Emissão NF é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.infNF[j].vBC == "") { objErro.sErro = objErro.sErro + " Valor da Base de Cálculo do ICMS NF é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.infNF[j].vICMS == "") { objErro.sErro = objErro.sErro + " Valor Total do ICMS NF é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.infNF[j].vBCST == "") { objErro.sErro = objErro.sErro + " Valor da Base de Cálculo do ICMS ST NF é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.infNF[j].vST == "") { objErro.sErro = objErro.sErro + " Valor Total do ICMS ST NF é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.infNF[j].vProd == "") { objErro.sErro = objErro.sErro + " Valor Total dos Produtos NF é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.infNF[j].vNF == "") { objErro.sErro = objErro.sErro + " Valor Total da NF NF é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.infNF[j].nCFOP == "") { objErro.sErro = objErro.sErro + " CFOP Predominante NF é Obrigatório!" + Environment.NewLine; iCountErros++; } } for (int k = 0; k < objbelinfCte.rem.infNFe.Count; k++) { if (objbelinfCte.rem.infNFe[k].chave == "") { objErro.sErro = objErro.sErro + " Chave NF-e é Obrigatório!" + Environment.NewLine; iCountErros++; } } #endregion #region Outros Documentos for (int j = 0; j < objbelinfCte.rem.infOutros.Count; j++) { if (objbelinfCte.rem.infOutros[j].tpDoc == "") { objErro.sErro = objErro.sErro + " Tipo do Documento é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.rem.infOutros[j].dEmi == "") { objErro.sErro = objErro.sErro + " Data Emissão do Documento é Obrigatório!" + Environment.NewLine; iCountErros++; } } #endregion #region Valores if (objbelinfCte.vPrest.vTPrest == "") { objErro.sErro = objErro.sErro + " Valor Total da Prestação do Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.vPrest.vRec == "") { objErro.sErro = objErro.sErro + " Valor a Receber é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS00 != null) { if (objbelinfCte.imp.ICMS.ICMS00.vBC == "") { objErro.sErro = objErro.sErro + " Valor da BC do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS00.pICMS == "") { objErro.sErro = objErro.sErro + " Alíquota do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS00.vICMS == "") { objErro.sErro = objErro.sErro + " Valor do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } } else if (objbelinfCte.imp.ICMS.ICMS20 != null) { if (objbelinfCte.imp.ICMS.ICMS20.CST == "") { objErro.sErro = objErro.sErro + " CST é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS20.pRedBC == "") { objErro.sErro = objErro.sErro + " Percentual de redução da BC é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS20.vBC == "") { objErro.sErro = objErro.sErro + " Valor da BC do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS20.pICMS == "") { objErro.sErro = objErro.sErro + " Alíquota do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS20.vICMS == "") { objErro.sErro = objErro.sErro + " Valor do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } } else if (objbelinfCte.imp.ICMS.ICMS45 != null) { if (objbelinfCte.imp.ICMS.ICMS45.CST == "") { objErro.sErro = objErro.sErro + " CST é Obrigatório!" + Environment.NewLine; iCountErros++; } } else if (objbelinfCte.imp.ICMS.ICMS60 != null) { if (objbelinfCte.imp.ICMS.ICMS60.CST == "") { objErro.sErro = objErro.sErro + " CST é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS60.vBCSTRet == "") { objErro.sErro = objErro.sErro + " Valor da BC do ICMS Retido é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS60.vICMSSTRet == "") { objErro.sErro = objErro.sErro + " Valor do ICMS Retido é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS60.pICMSSTRet == "") { objErro.sErro = objErro.sErro + " Alíquota do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } } else if (objbelinfCte.imp.ICMS.ICMS90 != null) { if (objbelinfCte.imp.ICMS.ICMS90.CST == "") { objErro.sErro = objErro.sErro + " CST é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS90.vBC == "") { objErro.sErro = objErro.sErro + " Valor da BC do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS90.pICMS == "") { objErro.sErro = objErro.sErro + " Alíquota do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMS90.vICMS == "") { objErro.sErro = objErro.sErro + " Valor do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } } else if (objbelinfCte.imp.ICMS.ICMSOutraUF != null) { if (objbelinfCte.imp.ICMS.ICMSOutraUF.CST == "") { objErro.sErro = objErro.sErro + " CST é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMSOutraUF.vBCOutraUF == "") { objErro.sErro = objErro.sErro + " Valor da BC do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMSOutraUF.pICMSOutraUF == "") { objErro.sErro = objErro.sErro + " Alíquota do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.imp.ICMS.ICMSOutraUF.vICMSOutraUF == "") { objErro.sErro = objErro.sErro + " Valor do ICMS é Obrigatório!" + Environment.NewLine; iCountErros++; } } #endregion #region InformacoesCarga if (objbelinfCte.infCTeNorm.infCarga.vCarga == 0) { objErro.sErro = objErro.sErro + " Valor total da mercadoria é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.infCarga.proPred == "") { objErro.sErro = objErro.sErro + " Produto predominante é Obrigatório!" + Environment.NewLine; iCountErros++; } for (int j = 0; j < objbelinfCte.infCTeNorm.infCarga.infQ.Count; j++) { if (objbelinfCte.infCTeNorm.infCarga.infQ[j].cUnid == "") { objErro.sErro = objErro.sErro + " Código da Unidade de Medida é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.infCarga.infQ[j].tpMed == "") { objErro.sErro = objErro.sErro + " Tipo da Medida é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.infCarga.infQ[j].qCarga == 0) { objErro.sErro = objErro.sErro + " Quantidade de Produtos é Obrigatório!" + Environment.NewLine; iCountErros++; } } #endregion #region Rodoviario if (objbelinfCte.infCTeNorm.seg.respSeg == "") { objErro.sErro = objErro.sErro + " Responsável pelo Seguro é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.dPrev == "") { objErro.sErro = objErro.sErro + " Previsão de Entrega é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.seg.nApol == "") { objErro.sErro = objErro.sErro + " Número da Apólice é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.RNTRC == "") { objErro.sErro = objErro.sErro + " RNTRC é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.lota == "") { objErro.sErro = objErro.sErro + " Lotação é Obrigatório!" + Environment.NewLine; iCountErros++; } #endregion #region Veiculo if (objbelinfCte.infCTeNorm.rodo.lota == "1" || objbelinfCte.infCTeNorm.rodo.veic.Count > 0) { for (int v = 0; v < objbelinfCte.infCTeNorm.rodo.veic.Count; v++) { if (objbelinfCte.infCTeNorm.rodo.veic[v].RENAVAM == "") { objErro.sErro = objErro.sErro + " RENAVAM do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].placa == "") { objErro.sErro = objErro.sErro + " Placa do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].tara == "0") { objErro.sErro = objErro.sErro + " Tara do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].capKG == "0") { objErro.sErro = objErro.sErro + " Capacidade do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].capM3 == "0") { objErro.sErro = objErro.sErro + " Capacidade(M3) do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].tpProp == "") { objErro.sErro = objErro.sErro + " Tipo de Proprietário do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].tpVeic == "") { objErro.sErro = objErro.sErro + " Tipo de Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].tpRod == "") { objErro.sErro = objErro.sErro + " Tipo de Rodado é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].tpCar == "") { objErro.sErro = objErro.sErro + " Tipo de Carroceria é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].UF == "") { objErro.sErro = objErro.sErro + " Uf do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].tpProp == "T") { if (objbelinfCte.infCTeNorm.rodo.veic[v].prop.CPFCNPJ == "") { objErro.sErro = objErro.sErro + " Cpf/Cnpj do Dono do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].prop.RNTRC == "") { objErro.sErro = objErro.sErro + " RNTRC do Dono do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].prop.xNome == "0") { objErro.sErro = objErro.sErro + " Nome do Dono do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].prop.IE == "0") { objErro.sErro = objErro.sErro + " Inscrição Estadual do Dono do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].prop.UF == "0") { objErro.sErro = objErro.sErro + " Uf do Dono do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.veic[v].prop.tpProp == "") { objErro.sErro = objErro.sErro + " Tipo de Proprietário do Dono do Veículo é Obrigatório!" + Environment.NewLine; iCountErros++; } } } } if (objbelinfCte.infCTeNorm.rodo.moto != null || objbelinfCte.infCTeNorm.rodo.lota == "1") { if (objbelinfCte.infCTeNorm.rodo.moto.xNome == "") { objErro.sErro = objErro.sErro + " Nome do Motorista é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objbelinfCte.infCTeNorm.rodo.moto.CPF == "") { objErro.sErro = objErro.sErro + " Cpf do Motorista é Obrigatório!" + Environment.NewLine; iCountErros++; } } #endregion if (objErro.sErro != null) { objListaErroAtual.Add(objErro); } } txtErros.Text = ""; if (iCountErros > 0) { Retorno = false; StringBuilder sErro = new StringBuilder(); for (int i = 0; i < objListaErroAtual.Count; i++) { sErro.Append("Número CT-e " + objListaErroAtual[i].sNumCte + Environment.NewLine); sErro.Append(objListaErroAtual[i].sErro + Environment.NewLine); } txtErros.Text = sErro.ToString(); } lblErro.Text = "Erros Encontrados: " + iCountErros; return Retorno; } catch (Exception ex) { KryptonMessageBox.Show(null, _sMessageException + (ex.InnerException != null ? ex.InnerException.Message : ex.Message).ToString(), "CT-e - AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information); ; return false; } }
private bool VerificaNotas() { objListaErroAtual = new List<ErrosNotas>(); bool retorno = true; int iCountErros = 0; for (int i = 0; i < objLoteRpsAlter.Rps.Count; i++) { string sNumNota = objLoteRpsAlter.Rps[i].InfRps.IdentificacaoRps.Numero; ErrosNotas objNotaAtual = new ErrosNotas(); objNotaAtual.sNota = sNumNota; #region Tomador if (objLoteRpsAlter.Rps[i].InfRps.Tomador.Contato != null) { string sTelefone = objLoteRpsAlter.Rps[i].InfRps.Tomador.Contato.Telefone; if (sTelefone != "") { if (ValidaFone(sTelefone) == false) { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Telefone Tomador Inválido!" + Environment.NewLine; iCountErros++; } } } if (objLoteRpsAlter.Rps[i].InfRps.Tomador.IdentificacaoTomador != null) { if (objLoteRpsAlter.Rps[i].InfRps.Tomador.IdentificacaoTomador.CpfCnpj != null) { if (objLoteRpsAlter.Rps[i].InfRps.Tomador.IdentificacaoTomador.CpfCnpj.Cnpj != "") { string sCnpj = TiraSimbolo(objLoteRpsAlter.Rps[i].InfRps.Tomador.IdentificacaoTomador.CpfCnpj.Cnpj); if (ValidaCnpj(sCnpj) == false) { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Cnpj Tomador Inválido!" + Environment.NewLine; iCountErros++; } } else if (objLoteRpsAlter.Rps[i].InfRps.Tomador.IdentificacaoTomador.CpfCnpj.Cpf != "") { string sCpf = TiraSimbolo(objLoteRpsAlter.Rps[i].InfRps.Tomador.IdentificacaoTomador.CpfCnpj.Cpf); if (ValidaCpf(sCpf) == false) { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Cpf Tomador Inválido!" + Environment.NewLine; iCountErros++; } } } } if (objLoteRpsAlter.Rps[i].InfRps.Tomador.Endereco != null) { if (objLoteRpsAlter.Rps[i].InfRps.Tomador.Endereco.Cep != "") { string sCep = TiraSimbolo(Convert.ToString(objLoteRpsAlter.Rps[i].InfRps.Tomador.Endereco.Cep)); if (ValidaCep(sCep) == false) { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Cep Tomador Inválido!" + Environment.NewLine; iCountErros++; } } } #endregion #region Intemediario if (objLoteRpsAlter.Rps[i].InfRps.Prestador.Cnpj != null) { string sCnpj = TiraSimbolo(objLoteRpsAlter.Rps[i].InfRps.Prestador.Cnpj); if (ValidaCnpj(sCnpj) == false) { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Cnpj Prestador de Serviço Inválido!" + Environment.NewLine; iCountErros++; } } if (objLoteRpsAlter.Rps[i].InfRps.IntermediarioServico != null) { if (objLoteRpsAlter.Rps[i].InfRps.IntermediarioServico.CpfCnpj != null) { if (objLoteRpsAlter.Rps[i].InfRps.IntermediarioServico.CpfCnpj.Cnpj != "") { string sCnpj = TiraSimbolo(objLoteRpsAlter.Rps[i].InfRps.IntermediarioServico.CpfCnpj.Cnpj); if (ValidaCnpj(sCnpj) == false) { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Cnpj Intermediário de Serviço Inválido!" + Environment.NewLine; iCountErros++; } } else if (objLoteRpsAlter.Rps[i].InfRps.IntermediarioServico.CpfCnpj.Cpf != "") { string sCpf = TiraSimbolo(objLoteRpsAlter.Rps[i].InfRps.IntermediarioServico.CpfCnpj.Cpf); if (ValidaCep(sCpf) == false) { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Cpf Intermediário de Serviço Inválido!" + Environment.NewLine; iCountErros++; } } } } #endregion #region CamposObrigatórios if (objLoteRpsAlter.Rps[i].InfRps.IdentificacaoRps.Serie == "") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Número de série Rps é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.DataEmissao.ToString() == "") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Data Emissão é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.Servico.ItemListaServico == "") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Item Lista Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.Servico.CodigoMunicipio == "") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Código do Municípo do Prestador de Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.Servico.Discriminacao == "") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Discriminação do Serviço é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.Servico.CodigoTributacaoMunicipio == "" || objLoteRpsAlter.Rps[i].InfRps.Servico.CodigoTributacaoMunicipio == "0") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Código do Município Inválido!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.NaturezaOperacao.ToString() == "") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Natureza da Operação é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.OptanteSimplesNacional.ToString() == "") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Optante Simples Nacional é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.IncentivadorCultural.ToString() == "") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Incenticador Cultural é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.Status.ToString() == "") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Status é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.IdentificacaoRps.Tipo.ToString() == "") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Tipo Rps é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.Servico.Valores.IssRetido.ToString() == "") { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " ISS Retido é Obrigatório!" + Environment.NewLine; iCountErros++; } if (belStatic.sNomeEmpresa.Equals("AENGE")) { if (objLoteRpsAlter.Rps[i].InfRps.ConstrucaoCivil.CodigoObra.Equals("")) { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Código da Obra é Obrigatório!" + Environment.NewLine; iCountErros++; } if (objLoteRpsAlter.Rps[i].InfRps.ConstrucaoCivil.Art.Equals("")) { objNotaAtual.sNomeCampo = objNotaAtual.sNomeCampo + " Art da Obra é Obrigatório!" + Environment.NewLine; iCountErros++; } } #endregion if (objNotaAtual.sNomeCampo != null) { objListaErroAtual.Add(objNotaAtual); } } txtErros.Text = ""; if (iCountErros > 0) { retorno = false; StringBuilder sErro = new StringBuilder(); for (int i = 0; i < objListaErroAtual.Count; i++) { sErro.Append("Nota Nº " + objListaErroAtual[i].sNota + Environment.NewLine); sErro.Append(objListaErroAtual[i].sNomeCampo + Environment.NewLine); } txtErros.Text = sErro.ToString(); } lblErro.Text = "Erros Encontrados: " + iCountErros; return retorno; }