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; }
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(); } }