diff --git a/NFe.Integracao/Enums/Comando.cs b/NFe.Integracao/Enums/Comando.cs index 3ebeffee5..d604e952b 100644 --- a/NFe.Integracao/Enums/Comando.cs +++ b/NFe.Integracao/Enums/Comando.cs @@ -44,4 +44,4 @@ public enum Comando Configurar, Help } -} +} \ No newline at end of file diff --git a/NFe.Integracao/Enums/TipoXmlNFe.cs b/NFe.Integracao/Enums/TipoXmlNFe.cs index 28aacd1db..1d920e663 100644 --- a/NFe.Integracao/Enums/TipoXmlNFe.cs +++ b/NFe.Integracao/Enums/TipoXmlNFe.cs @@ -39,4 +39,4 @@ public enum TipoXmlNFe Lote, Destinatario, } -} +} \ No newline at end of file diff --git a/NFe.Integracao/NFeBuilder.cs b/NFe.Integracao/NFeBuilder.cs index a92a020bc..4691a3b03 100644 --- a/NFe.Integracao/NFeBuilder.cs +++ b/NFe.Integracao/NFeBuilder.cs @@ -110,4 +110,4 @@ public Classes.NFe Build() return _nFe; } } -} +} \ No newline at end of file diff --git a/NFe.Integracao/NFeFacade.cs b/NFe.Integracao/NFeFacade.cs index 2e02e4e20..02c0fad8e 100644 --- a/NFe.Integracao/NFeFacade.cs +++ b/NFe.Integracao/NFeFacade.cs @@ -345,4 +345,4 @@ public List CapturarConteudoArquivoDeConfiguracoes() return new List(File.ReadAllLines(_pathArquivoConfiguracoes, Encoding.Unicode)); } } -} +} \ No newline at end of file diff --git a/NFe.Integracao/Program.cs b/NFe.Integracao/Program.cs index 7f0cdd14a..85582c3d1 100644 --- a/NFe.Integracao/Program.cs +++ b/NFe.Integracao/Program.cs @@ -62,7 +62,7 @@ public static void Main(string[] args) switch (args[i]) { case "/?": listComandos.Add(new KeyValuePair(Comando.Help,string.Empty)); break; - case "/enviar": listComandos.Add(new KeyValuePair(Comando.EnviarNFe, string.Format("{0}#{1}", args[i + 1], args[i+2]))); break; + case "/enviar": listComandos.Add(new KeyValuePair(Comando.EnviarNFe, string.Format("{0}#{1}#{2}", args[i + 1], args[i+2], args[i + 3]))); break; case "/recibo": listComandos.Add(new KeyValuePair(Comando.ConsultarReciboEnvio, args[i + 1])); break; case "/status": listComandos.Add(new KeyValuePair(Comando.StatusServico, string.Empty)); break; case "/inutilizar": listComandos.Add(new KeyValuePair(Comando.InutilizarNumeracao, string.Format("{0}#{1}#{2}#{3}#{4}#{5}", args[i + 1], args[i + 2], args[i + 3], args[i + 4], args[i + 5], args[i + 6]))); break; @@ -289,7 +289,7 @@ private static void ImprimirHelp() Console.WriteLine(""); Console.WriteLine("/config - zeus /config \"tipo_ambiente\" \"h\""); Console.WriteLine(""); - Console.WriteLine("/enviar - zeus /enviar \"C:\\meu_arquivo_xml.xml\""); + Console.WriteLine("/enviar - zeus /enviar \"C:\\meu_arquivo_xml.xml\" \"numero_do_lote\" \"tipo_documento(D=Destinatário - nfeProc; N=Nfe; L=Lote - enviNFe3\""); Console.WriteLine(""); Console.WriteLine("/recibo - zeus /recibo \"número_do_recibo\""); Console.WriteLine(""); @@ -420,10 +420,27 @@ private static bool ConsultarStatusServico(NFeFacade nfeFacade) private static void EnviarNFe(NFeFacade nfeFacade, string dadosDoEnvio) { string strPathArquivoXml; + int numeroLote; + TipoXmlNFe tipoXml; try { - strPathArquivoXml = dadosDoEnvio.Split('#')[0]; + var arrayStrDados = dadosDoEnvio.Split('#'); + strPathArquivoXml = arrayStrDados[0]; + numeroLote = int.Parse(arrayStrDados[1]); + switch (arrayStrDados[2]) + { + case "D": tipoXml = TipoXmlNFe.Destinatario; + break; + case "N": + tipoXml = TipoXmlNFe.NFe; + break; + case "L": + tipoXml = TipoXmlNFe.Lote; + break; + default: + throw new ArgumentException(); + } } catch { @@ -453,9 +470,9 @@ private static void EnviarNFe(NFeFacade nfeFacade, string dadosDoEnvio) return; } - var nfeBuilder = new NFeBuilder(strPathArquivoXml,TipoXmlNFe.NFe); + var nfeBuilder = new NFeBuilder(strPathArquivoXml, tipoXml); Console.WriteLine("Preparando a NFe..."); - var retorno = nfeFacade.EnviarNFe(1,nfeBuilder.Build()); + var retorno = nfeFacade.EnviarNFe(numeroLote, nfeBuilder.Build()); if (retorno.Retorno.cStat == 103) { Console.WriteLine("#NFe#"+retorno.Retorno.infRec.nRec); @@ -514,6 +531,10 @@ private static void ConsultarReciboDeEnvio(NFeFacade nfeFacade,string numeroReci { Console.WriteLine("#NFe#" + retornoConsultaProtocolo.Retorno.protNFe[0].infProt.nProt); } + if (retornoConsultaProtocolo.Retorno.protNFe[0].infProt != null) + { + Console.WriteLine("#Erro#" + retornoConsultaProtocolo.Retorno.protNFe[0].infProt.xMotivo); + } else { Console.WriteLine("#Erro#" + retornoConsultaProtocolo.Retorno.xMotivo); @@ -526,4 +547,4 @@ private static void ConsultarReciboDeEnvio(NFeFacade nfeFacade,string numeroReci } } } -} +} \ No newline at end of file