Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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;
        }