public string ProcessaCancel(CancelNFCE cancel) //"F"|"J" { try { xmlData = new MakeXMLSAT(cancel, config); XmlDocument xmlSATImpressaoCancelamento = new XmlDocument(); string fileCancel = String.Format("{0}{1}\\CFe{2}.xml", config.configMaquina.pathFiles, "\\enviados", cancel.chaveCancelamento); if (File.Exists(fileCancel)) { xmlSATImpressaoCancelamento.Load(fileCancel); } else { throw new Exception("Arquivo XML CFe Original não encontrado em: " + fileCancel); } string retorno; try { retorno = gerenSAT.CancelarCFe(gerenSAT.generatorKey(), config.configSAT.ChaveAtivacao, "CFe" + cancel.chaveCancelamento, xmlData.xmlCancel.OuterXml); //TODO CONF //retorno = SatDLL.CancelarCFe(SatDLL.generatorKey(), config.configSAT.ChaveAtivacao, "CFe" + cancel.chaveCancelamento, xmlData.xmlCancel.OuterXml); //TODO CONF } catch (Exception exceptionSATDll) { throw new Exception("Erro enviando comando de Cancelamento de CFe " + exceptionSATDll.Message); } string[] tmpSplit = retorno.Split('|'); if (tmpSplit[1].Equals("07000")) { byte[] tmpByte = Convert.FromBase64String(tmpSplit[6]); String notaRet = tmpByte.ToString(); notaRet = System.Text.Encoding.UTF8.GetString(tmpByte); string xmlName = String.Format("{0}{1}\\{2}.xml", config.configMaquina.pathFiles, "\\enviados", tmpSplit[8]); using (System.IO.StreamWriter sw = new System.IO.StreamWriter(xmlName)) { sw.Write(notaRet); sw.Flush(); } XmlDocument xmlSATImpressao = new XmlDocument(); xmlSATImpressao.LoadXml(notaRet); dadosQR = String.Format("{0}|{1}|{2}|{3}|{4}", tmpSplit[8].Substring(3), tmpSplit[7], tmpSplit[9], tmpSplit[10], tmpSplit[11]); Impressao(xmlSATImpressao, xmlSATImpressaoCancelamento, TipoImpressao.Cancelamento, cancel.printer); // dadosSatImp = new ImpressaoSAT(xmlSATImpressao, xmlSATImpressaoCancelamento, config, TipoImpressao.Cancelamento); // ImprimirEpsonNF.ImprimirNF(cancel.printer, dadosSatImp.DadosImpressao1, dadosSatImp.DadosImpressao2, dadosQR, dadosSatImp.DadosQrCodeCancelamento, "", true, true); } else { throw new Exception(String.Format("Erro processando SAT Cancelamento {0}{1}{2}{3}{4}", tmpSplit[1], tmpSplit[2], tmpSplit[3], tmpSplit[4], tmpSplit[5])); } return "SAT: Cancelamento Com sucesso"; } catch (Exception ex) { throw new Exception("Erro processabdo Cancelamento " + ex.Message); } }
public void ProcessaCupom(DadosSAT _dtSAT) { try { dtSAT = _dtSAT; xmlData = new MakeXMLSAT(dtSAT, config); string xmlName = String.Format("{0}{1}\\{2}.xml", config.configMaquina.pathFiles, "\\gerados", String.Format("{0}_{1}_{2}_{3}", dtSAT.WS_ID, dtSAT.Chk_Num, DateTime.Now.ToString("ddMMyyyy"), DateTime.Now.ToString("hhmmss"))); xmlData.xmlDoc.Save(xmlName); Processa(); } catch (Exception ex) { throw ex; } }