예제 #1
0
        public string Cancelar()
        {
            try
            {
                XmlSerializerNamespaces nameSpaces = new XmlSerializerNamespaces();
                nameSpaces.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
                nameSpaces.Add("tipos", "http://*****:*****@"D:\Ret_CANC_LOTE_2805131157.xml";

                RetornoCancelamentoNFSe objretorno = SerializeClassToXml.DeserializeClasse <RetornoCancelamentoNFSe>(sPathRetConsultaCanc);

                string sMessageRetorno = TrataRetornoCancelamento(objretorno);
                return(sMessageRetorno);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        private string TrataRetornoCancelamento(RetornoCancelamentoNFSe objretorno)
        {
            string sRetorno = "Retorno não tratado.";

            if (objretorno.erros.Erro.Count() > 0)
            {
                sRetorno = "Erros Entrontrados no Lote de Cancelamento: " + Environment.NewLine;
                foreach (ErrosErroCanc erro in objretorno.erros.Erro)
                {
                    sRetorno += string.Format("Código:{0} - Msg:{1}.{2}", erro.Codigo, erro.Descricao, Environment.NewLine);
                }
            }
            if (objretorno.alertas.Alerta.Count() > 0)
            {
                foreach (AlertaCanc nota in objretorno.alertas.Alerta)
                {
                    sRetorno = "Alerta: " + nota.Descricao + Environment.NewLine;
                    if (nota.Codigo == "1301")
                    {
                        sRetorno += string.Format("Nota:{0}{1}", nota.ChaveNFe.NumeroNFe, Environment.NewLine);
                        base.UpdateToCancel(nota.ChaveNFe.NumeroNFe.ToString(), nota.ChaveNFe.CodigoVerificacao.ToString(), objCancelamento.lote.Nota.FirstOrDefault(c => c.CodigoVerificacao == nota.ChaveNFe.CodigoVerificacao).MotivoCancelamento);
                        DateTime dDT_EMISSAO = objNotas.FirstOrDefault(c => c.scd_numero_nfse == nota.ChaveNFe.NumeroNFe.ToString()).dDT_EMI;

                        if (dDT_EMISSAO != null)
                        {


                            string sFileOrigem = belCancelamentoDSF.GetFilePathMonthServico(true, nota.ChaveNFe.NumeroNFe.ToString(), dDT_EMISSAO);
                            string sFileDestino = belCancelamentoDSF.GetFilePathMonthServico(false, nota.ChaveNFe.NumeroNFe.ToString(), dDT_EMISSAO); //salvo na pasta envio com o numero do nfse.
                            if (File.Exists(sFileOrigem))
                            {
                                File.Move(sFileOrigem, sFileDestino);
                            }
                        }
                    }
                    else
                    {
                        sRetorno += string.Format("Código:{0} - Msg:{1}.{2}", nota.Codigo, nota.Descricao, Environment.NewLine);
                    }

                }
            }
            if (objretorno.notasCanc.Nota.Count() > 0)
            {
                sRetorno = "Notas Canceladas: " + Environment.NewLine;
                foreach (NotasCanceladasNota nota in objretorno.notasCanc.Nota)
                {
                    sRetorno += string.Format("Nota:{0}{1}", nota.NumeroNota, Environment.NewLine);
                    base.UpdateToCancel(nota.NumeroNota.ToString(), nota.CodigoVerificacao.ToString(), objCancelamento.lote.Nota.FirstOrDefault(c => c.CodigoVerificacao == nota.CodigoVerificacao).MotivoCancelamento);

                    DateTime dDT_EMISSAO = objNotas.FirstOrDefault(c => c.scd_numero_nfse == nota.NumeroNota.ToString()).dDT_EMI;

                    if (dDT_EMISSAO != null)
                    {


                        string sFileOrigem = belCancelamentoDSF.GetFilePathMonthServico(true, nota.NumeroNota.ToString(), dDT_EMISSAO);
                        string sFileDestino = belCancelamentoDSF.GetFilePathMonthServico(false, nota.NumeroNota.ToString(), dDT_EMISSAO); //salvo na pasta envio com o numero do nfse.
                        if (File.Exists(sFileOrigem))
                        {
                            File.Move(sFileOrigem, sFileDestino);
                        }
                    }
                }
            }
            return sRetorno;
        }
예제 #3
0
        private string TrataRetornoCancelamento(RetornoCancelamentoNFSe objretorno)
        {
            string sRetorno = "Retorno não tratado.";

            if (objretorno.erros.Erro.Count() > 0)
            {
                sRetorno = "Erros Entrontrados no Lote de Cancelamento: " + Environment.NewLine;
                foreach (ErrosErroCanc erro in objretorno.erros.Erro)
                {
                    sRetorno += string.Format("Código:{0} - Msg:{1}.{2}", erro.Codigo, erro.Descricao, Environment.NewLine);
                }
            }
            if (objretorno.alertas.Alerta.Count() > 0)
            {
                foreach (AlertaCanc nota in objretorno.alertas.Alerta)
                {
                    sRetorno = "Alerta: " + nota.Descricao + Environment.NewLine;
                    if (nota.Codigo == "1301")
                    {
                        sRetorno += string.Format("Nota:{0}{1}", nota.ChaveNFe.NumeroNFe, Environment.NewLine);
                        base.UpdateToCancel(nota.ChaveNFe.NumeroNFe.ToString(), nota.ChaveNFe.CodigoVerificacao.ToString(), objCancelamento.lote.Nota.FirstOrDefault(c => c.CodigoVerificacao == nota.ChaveNFe.CodigoVerificacao).MotivoCancelamento);
                        DateTime dDT_EMISSAO = objNotas.FirstOrDefault(c => c.scd_numero_nfse == nota.ChaveNFe.NumeroNFe.ToString()).dDT_EMI;

                        if (dDT_EMISSAO != null)
                        {
                            string sFileOrigem  = belCancelamentoDSF.GetFilePathMonthServico(true, nota.ChaveNFe.NumeroNFe.ToString(), dDT_EMISSAO);
                            string sFileDestino = belCancelamentoDSF.GetFilePathMonthServico(false, nota.ChaveNFe.NumeroNFe.ToString(), dDT_EMISSAO); //salvo na pasta envio com o numero do nfse.
                            if (File.Exists(sFileOrigem))
                            {
                                File.Move(sFileOrigem, sFileDestino);
                            }
                        }
                    }
                    else
                    {
                        sRetorno += string.Format("Código:{0} - Msg:{1}.{2}", nota.Codigo, nota.Descricao, Environment.NewLine);
                    }
                }
            }
            if (objretorno.notasCanc.Nota.Count() > 0)
            {
                sRetorno = "Notas Canceladas: " + Environment.NewLine;
                foreach (NotasCanceladasNota nota in objretorno.notasCanc.Nota)
                {
                    sRetorno += string.Format("Nota:{0}{1}", nota.NumeroNota, Environment.NewLine);
                    base.UpdateToCancel(nota.NumeroNota.ToString(), nota.CodigoVerificacao.ToString(), objCancelamento.lote.Nota.FirstOrDefault(c => c.CodigoVerificacao == nota.CodigoVerificacao).MotivoCancelamento);

                    DateTime dDT_EMISSAO = objNotas.FirstOrDefault(c => c.scd_numero_nfse == nota.NumeroNota.ToString()).dDT_EMI;

                    if (dDT_EMISSAO != null)
                    {
                        string sFileOrigem  = belCancelamentoDSF.GetFilePathMonthServico(true, nota.NumeroNota.ToString(), dDT_EMISSAO);
                        string sFileDestino = belCancelamentoDSF.GetFilePathMonthServico(false, nota.NumeroNota.ToString(), dDT_EMISSAO); //salvo na pasta envio com o numero do nfse.
                        if (File.Exists(sFileOrigem))
                        {
                            File.Move(sFileOrigem, sFileDestino);
                        }
                    }
                }
            }
            return(sRetorno);
        }