Ejemplo n.º 1
0
        private void TmCancelamento_Tick(object sender, EventArgs e)
        {
            EnviarCancelamentoSefaz envCancelamento;

            mCancelamento = new Model_Cancelamento();
            eCancelamento = new Entidade_Cancelamento();


            TmCancelamento.Enabled = false;

            var dtCancelamento = mCancelamento.ConsultarCancelementosSolicitados();

            for (int i = 0; i < dtCancelamento.Rows.Count; i++)
            {
                envCancelamento = new EnviarCancelamentoSefaz();

                eCancelamento.id   = Convert.ToInt32(dtCancelamento.Rows[i]["idoperacao"]);
                eCancelamento.Loja = Convert.ToInt32(dtCancelamento.Rows[i]["id_loja"]);
                //eCancelamento.CdFornec = dtCancelamento.Rows[i]["CdFornec"] != null ? Convert.ToInt32(dtCancelamento.Rows[i]["CdFornec"]) : 0;
                eCancelamento.NmSerie          = dtCancelamento.Rows[i]["serienf"].ToString();
                eCancelamento.NrNf             = Convert.ToInt32(dtCancelamento.Rows[i]["NrNF"].ToString());
                eCancelamento.CnpjCpf          = dtCancelamento.Rows[i]["cnpj"].ToString();
                eCancelamento.ChaveAcessoNfe   = dtCancelamento.Rows[i]["TxChAcessoNfe"].ToString();
                eCancelamento.TpNf             = dtCancelamento.Rows[i]["TpNFe"].ToString();
                eCancelamento.ProtocoloAutoriz = dtCancelamento.Rows[i]["NrProtocoloAutorizNfe"].ToString().Trim();
                eCancelamento.cUf = Convert.ToInt32(dtCancelamento.Rows[i]["cdUfCidadeIbge_Empresa"].ToString().Substring(0, dtCancelamento.Rows[i]["cdUfCidadeIbge_Empresa"].ToString().Length - 5));
                eCancelamento.CodigoIbgeEmpresa = dtCancelamento.Rows[i]["cdUfCidadeIbge_Empresa"].ToString();
                eCancelamento.DataHora          = dtCancelamento.Rows[i]["DtOperacao"].ToString();
                eCancelamento.TpAmb             = FuncoesGerais.TipoAmbiente();;
                eCancelamento.Justificatica     = "CANCELAMENTO DE NOTA FISCAL POR PROBLEMAS LANCAMENTO";
                envCancelamento.Enviar(eCancelamento, out eCancelamento);
            }

            TmCancelamento.Enabled = true;
        }
Ejemplo n.º 2
0
        public void DeserilizarEvento(object obj, ref Entidade_Cancelamento objDes)
        {
            Entidade_Cancelamento EntCa  = new Entidade_Cancelamento();
            Model_NotaFiscal      mNf    = new Model_NotaFiscal();
            Model_Lote            mLote  = new Model_Lote();
            XmlDocument           docRet = new XmlDocument();

            RecebEnvento = new TRetEnvEvento();
            StreamWriter SW;
            string       xProtNFe = string.Empty;

            EntCa = objDes;


            object retCancelamentoSefaz = new object();

            mCancelamento = new Model_Cancelamento();

            TRetEnvEvento EventoRetCancalentoSefaz = new TRetEnvEvento();

            try
            {
                XmlNodeReader retXmlNodeReader = new XmlNodeReader((XmlNode)obj);
                XmlSerializer xmlDesSerializar = new XmlSerializer(typeof(retEnvEventoCancNFe.TRetEnvEvento));

                retCancelamentoSefaz = xmlDesSerializar.Deserialize(retXmlNodeReader);

                EventoRetCancalentoSefaz = (TRetEnvEvento)retCancelamentoSefaz;

                if (EventoRetCancalentoSefaz.cStat != "410")
                {
                    foreach (var item in EventoRetCancalentoSefaz.retEvento)
                    {
                        if (item.infEvento.cStat.Trim() == "135" || item.infEvento.cStat.Trim() == "136" || item.infEvento.cStat.Trim() == "155")
                        {
                            mCancelamento.UpdateCancelamentoNfe(101, Convert.ToDateTime(item.infEvento.dhRegEvento), EntCa.Loja, EntCa.NmSerie, EntCa.NrNf.ToString(), 0);

                            if (EntCa.TpNf == "S")
                            {
                                mCancelamento.UpdateNfSaidaCancelamento(101, item.infEvento.nProt, EntCa.Loja, EntCa.NmSerie.Trim(), EntCa.NrNf.ToString());
                            }
                            else
                            {
                                mCancelamento.UpdateNfEntradaCancelamento(101, item.infEvento.nProt, EntCa.Loja, EntCa.NmSerie.Trim(), EntCa.NrNf.ToString(), EntCa.CdFornec);
                            }

                            //mCancelamento.TramitacaoNfe(EntCa.Loja, EntCa.NmSerie.Trim(), EntCa.NrNf.ToString(), EntCa.CdFornec, 0, "Cancelamento autorizado");
                        }
                        else
                        {
                            mCancelamento.UpdateCancelamentoNfe(int.Parse(item.infEvento.cStat), Convert.ToDateTime(item.infEvento.dhRegEvento), EntCa.Loja, EntCa.NmSerie.Trim() == "9" ? "D1" : EntCa.NmSerie.Trim(), EntCa.NrNf.ToString(), EntCa.CdFornec);
                            mCancelamento.TramitacaoNfe(EntCa.Loja, EntCa.NmSerie.Trim() == "9" ? "D1" : EntCa.NmSerie.Trim(), EntCa.NrNf.ToString(), EntCa.CdFornec, 0, "Cancelamento não autorizado! Erro:" + int.Parse(item.infEvento.cStat));
                        }
                    }
                }
                else
                {
                    vWriter = new StreamWriter(@"c:\MensagensNFe\ServicoNotaFiscal.txt", true);
                    vWriter.WriteLine("=====================CANCELAMENTO - " + string.Format("{0:dd/MM/yyyy HH:mm:ss}", DateTime.Now) + "================================");
                    vWriter.WriteLine("OCORREU O SEGUINTE EERRO: " + EventoRetCancalentoSefaz.xMotivo);
                    vWriter.WriteLine("=====================================================");
                    vWriter.Flush();
                    vWriter.Close();
                }
            }
            catch (Exception ex)
            {
                vWriter = new StreamWriter(@"c:\MensagensNFe\ServicoNotaFiscal.txt", true);
                vWriter.WriteLine("=====================CANCELAMENTO - " + string.Format("{0:dd/MM/yyyy HH:mm:ss}", DateTime.Now) + "================================");
                vWriter.WriteLine("OCORREU O SEGUINTE EERRO: " + ex.Message.ToString());
                vWriter.WriteLine("=====================================================");
                vWriter.Flush();
                vWriter.Close();
            }
        }