Skip to content

Commit 414e12a

Browse files
marcosgereneValmir-Cunha
authored andcommitted
Implementa o Envio Sincrono do MDFe. (#8)
1 parent b51ea3d commit 414e12a

File tree

2 files changed

+52
-72
lines changed

2 files changed

+52
-72
lines changed

MDFe.Servicos/Factory/WsdlFactory.cs

+33-49
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333

3434
using CTe.CTeOSDocumento.Common;
3535
using DFe.Classes.Extensoes;
36-
using MDFe.Classes.Extensoes;
36+
using MDFe.Classes.Extencoes;
3737
using MDFe.Servicos.Enderecos.Helper;
3838
using MDFe.Utils.Configuracoes;
3939
using MDFe.Wsdl.Gerado.MDFeStatusServico;
@@ -48,104 +48,88 @@ namespace MDFe.Servicos.Factory
4848
{
4949
public static class WsdlFactory
5050
{
51-
public static MDFeConsNaoEnc CriaWsdlMDFeConsNaoEnc(MDFeConfiguracao cfgMdfe = null)
51+
public static MDFeConsNaoEnc CriaWsdlMDFeConsNaoEnc()
5252
{
53-
var config = cfgMdfe ?? MDFeConfiguracao.Instancia;
54-
55-
var url = UrlHelper.ObterUrlServico(config.VersaoWebService.TipoAmbiente).MDFeConsNaoEnc;
56-
var versao = config.VersaoWebService.VersaoLayout.GetVersaoString();
57-
var configuracaoWsdl = CriaConfiguracao(url, versao, config);
53+
var url = UrlHelper.ObterUrlServico(MDFeConfiguracao.VersaoWebService.TipoAmbiente).MDFeConsNaoEnc;
54+
var versao = MDFeConfiguracao.VersaoWebService.VersaoLayout.GetVersaoString();
55+
var configuracaoWsdl = CriaConfiguracao(url, versao);
5856

5957
var ws = new MDFeConsNaoEnc(configuracaoWsdl);
6058
return ws;
6159
}
6260

63-
public static MDFeConsulta CriaWsdlMDFeConsulta(MDFeConfiguracao cfgMdfe = null)
61+
public static MDFeConsulta CriaWsdlMDFeConsulta()
6462
{
65-
var config = cfgMdfe ?? MDFeConfiguracao.Instancia;
66-
67-
var url = UrlHelper.ObterUrlServico(config.VersaoWebService.TipoAmbiente).MDFeConsulta;
68-
var versao = config.VersaoWebService.VersaoLayout.GetVersaoString();
63+
var url = UrlHelper.ObterUrlServico(MDFeConfiguracao.VersaoWebService.TipoAmbiente).MDFeConsulta;
64+
var versao = MDFeConfiguracao.VersaoWebService.VersaoLayout.GetVersaoString();
6965

70-
var configuracaoWsdl = CriaConfiguracao(url, versao, config);
66+
var configuracaoWsdl = CriaConfiguracao(url, versao);
7167

7268
return new MDFeConsulta(configuracaoWsdl);
7369
}
7470

75-
public static MDFeRecepcaoEvento CriaWsdlMDFeRecepcaoEvento(MDFeConfiguracao cfgMdfe = null)
71+
public static MDFeRecepcaoEvento CriaWsdlMDFeRecepcaoEvento()
7672
{
77-
var config = cfgMdfe ?? MDFeConfiguracao.Instancia;
73+
var url = UrlHelper.ObterUrlServico(MDFeConfiguracao.VersaoWebService.TipoAmbiente).MDFeRecepcaoEvento;
74+
var versao = MDFeConfiguracao.VersaoWebService.VersaoLayout.GetVersaoString();
7875

79-
var url = UrlHelper.ObterUrlServico(config.VersaoWebService.TipoAmbiente).MDFeRecepcaoEvento;
80-
var versao = config.VersaoWebService.VersaoLayout.GetVersaoString();
81-
82-
var configuracaoWsdl = CriaConfiguracao(url, versao, config);
76+
var configuracaoWsdl = CriaConfiguracao(url, versao);
8377

8478
return new MDFeRecepcaoEvento(configuracaoWsdl);
8579
}
8680

87-
public static MDFeRecepcao CriaWsdlMDFeRecepcao(MDFeConfiguracao cfgMdfe = null)
81+
public static MDFeRecepcao CriaWsdlMDFeRecepcao()
8882
{
89-
var config = cfgMdfe ?? MDFeConfiguracao.Instancia;
90-
91-
var url = UrlHelper.ObterUrlServico(config.VersaoWebService.TipoAmbiente).MDFeRecepcao;
92-
var versaoServico = config.VersaoWebService.VersaoLayout.GetVersaoString();
83+
var url = UrlHelper.ObterUrlServico(MDFeConfiguracao.VersaoWebService.TipoAmbiente).MDFeRecepcao;
84+
var versaoServico = MDFeConfiguracao.VersaoWebService.VersaoLayout.GetVersaoString();
9385

94-
var configuracaoWsdl = CriaConfiguracao(url, versaoServico, config);
86+
var configuracaoWsdl = CriaConfiguracao(url, versaoServico);
9587

9688
return new MDFeRecepcao(configuracaoWsdl);
9789
}
9890

99-
public static MDFeRecepcaoSinc CriaWsdlMDFeRecepcaoSinc(MDFeConfiguracao cfgMdfe = null)
91+
public static MDFeRecepcaoSinc CriaWsdlMDFeRecepcaoSinc()
10092
{
101-
var config = cfgMdfe ?? MDFeConfiguracao.Instancia;
93+
var url = UrlHelper.ObterUrlServico(MDFeConfiguracao.VersaoWebService.TipoAmbiente).MDFeRecepcaoSinc;
94+
var versaoServico = MDFeConfiguracao.VersaoWebService.VersaoLayout.GetVersaoString();
10295

103-
var url = UrlHelper.ObterUrlServico(config.VersaoWebService.TipoAmbiente).MDFeRecepcaoSinc;
104-
var versaoServico = config.VersaoWebService.VersaoLayout.GetVersaoString();
105-
106-
var configuracaoWsdl = CriaConfiguracao(url, versaoServico, config);
96+
var configuracaoWsdl = CriaConfiguracao(url, versaoServico);
10797

10898
return new MDFeRecepcaoSinc(configuracaoWsdl);
10999
}
110100

111-
public static MDFeRetRecepcao CriaWsdlMDFeRetRecepcao(MDFeConfiguracao cfgMdfe = null)
101+
public static MDFeRetRecepcao CriaWsdlMDFeRetRecepcao()
112102
{
113-
var config = cfgMdfe ?? MDFeConfiguracao.Instancia;
114-
115-
var url = UrlHelper.ObterUrlServico(config.VersaoWebService.TipoAmbiente).MDFeRetRecepcao;
116-
var versao = config.VersaoWebService.VersaoLayout.GetVersaoString();
103+
var url = UrlHelper.ObterUrlServico(MDFeConfiguracao.VersaoWebService.TipoAmbiente).MDFeRetRecepcao;
104+
var versao = MDFeConfiguracao.VersaoWebService.VersaoLayout.GetVersaoString();
117105

118-
var configuracaoWsdl = CriaConfiguracao(url, versao, config);
106+
var configuracaoWsdl = CriaConfiguracao(url, versao);
119107

120108
return new MDFeRetRecepcao(configuracaoWsdl);
121109
}
122110

123-
public static MDFeStatusServico CriaWsdlMDFeStatusServico(MDFeConfiguracao cfgMdfe = null)
111+
public static MDFeStatusServico CriaWsdlMDFeStatusServico()
124112
{
125-
var config = cfgMdfe ?? MDFeConfiguracao.Instancia;
113+
var url = UrlHelper.ObterUrlServico(MDFeConfiguracao.VersaoWebService.TipoAmbiente).MDFeStatusServico;
114+
var versao = MDFeConfiguracao.VersaoWebService.VersaoLayout.GetVersaoString();
126115

127-
var url = UrlHelper.ObterUrlServico(config.VersaoWebService.TipoAmbiente).MDFeStatusServico;
128-
var versao = config.VersaoWebService.VersaoLayout.GetVersaoString();
129-
130-
var configuracaoWsdl = CriaConfiguracao(url, versao, config);
116+
var configuracaoWsdl = CriaConfiguracao(url, versao);
131117

132118
return new MDFeStatusServico(configuracaoWsdl);
133119
}
134120

135-
private static WsdlConfiguracao CriaConfiguracao(string url, string versao, MDFeConfiguracao cfgMdfe = null)
121+
private static WsdlConfiguracao CriaConfiguracao(string url, string versao)
136122
{
137-
var config = cfgMdfe ?? MDFeConfiguracao.Instancia;
138-
139-
var codigoEstado = config.VersaoWebService.UfEmitente.GetCodigoIbgeEmString();
140-
var certificadoDigital = config.X509Certificate2;
123+
var codigoEstado = MDFeConfiguracao.VersaoWebService.UfEmitente.GetCodigoIbgeEmString();
124+
var certificadoDigital = MDFeConfiguracao.X509Certificate2;
141125

142126
return new WsdlConfiguracao
143127
{
144128
CertificadoDigital = certificadoDigital,
145129
Versao = versao,
146130
CodigoIbgeEstado = codigoEstado,
147131
Url = url,
148-
TimeOut = config.VersaoWebService.TimeOut
132+
TimeOut = MDFeConfiguracao.VersaoWebService.TimeOut
149133
};
150134
}
151135
}

MDFe.Servicos/RecepcaoMDFe/ServicoMDFeRecepcao.cs

+19-23
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@
2828
/* */
2929
/* Zeusdev Tecnologia LTDA ME - adenilton@zeusautomacao.com.br */
3030
/* http://www.zeusautomacao.com.br/ */
31-
/* Rua Comendador Francisco José da Cunha, 111 - Itabaiana - SE - 49500-000 */
31+
/* Rua Comendador Francisco josé da Cunha, 111 - Itabaiana - SE - 49500-000 */
3232
/********************************************************************************/
3333

3434
using System;
3535
using DFe.Utils;
36-
using MDFe.Classes.Extensoes;
36+
using MDFe.Classes.Extencoes;
3737
using MDFe.Classes.Flags;
3838
using MDFe.Classes.Retorno.MDFeRecepcao;
3939
using MDFe.Classes.Retorno.MDFeRetRecepcao.Sincrono;
@@ -50,13 +50,11 @@ public class ServicoMDFeRecepcao
5050
public event EventHandler<AntesDeEnviar> AntesDeEnviar;
5151
public event EventHandler<string> GerouChave;
5252

53-
public MDFeRetEnviMDFe MDFeRecepcao(long lote, MDFeEletronico mdfe, MDFeConfiguracao cfgMdfe = null)
53+
public MDFeRetEnviMDFe MDFeRecepcao(long lote, MDFeEletronico mdfe)
5454
{
55-
var config = cfgMdfe ?? MDFeConfiguracao.Instancia;
55+
var enviMDFe = ClassesFactory.CriaEnviMDFe(lote, mdfe);
5656

57-
var enviMDFe = ClassesFactory.CriaEnviMDFe(lote, mdfe, config);
58-
59-
switch (config.VersaoWebService.VersaoLayout)
57+
switch (MDFeConfiguracao.VersaoWebService.VersaoLayout)
6058
{
6159
case VersaoServico.Versao100:
6260
mdfe.InfMDFe.InfModal.VersaoModal = MDFeVersaoModal.Versao100;
@@ -68,45 +66,43 @@ public MDFeRetEnviMDFe MDFeRecepcao(long lote, MDFeEletronico mdfe, MDFeConfigur
6866
break;
6967
}
7068

71-
enviMDFe.MDFe.Assina(GerouChave, this, config);
69+
enviMDFe.MDFe.Assina(GerouChave, this);
7270

73-
if (config.IsAdicionaQrCode && config.VersaoWebService.VersaoLayout == VersaoServico.Versao300)
71+
if (MDFeConfiguracao.IsAdicionaQrCode && MDFeConfiguracao.VersaoWebService.VersaoLayout == VersaoServico.Versao300)
7472
{
75-
mdfe.InfMDFeSupl = mdfe.QrCode(config.X509Certificate2);
73+
mdfe.infMDFeSupl = mdfe.QrCode(MDFeConfiguracao.X509Certificate2);
7674
}
7775

78-
enviMDFe.Valida(config);
79-
enviMDFe.SalvarXmlEmDisco(config);
76+
enviMDFe.Valida();
77+
enviMDFe.SalvarXmlEmDisco();
8078

81-
var webService = WsdlFactory.CriaWsdlMDFeRecepcao(config);
79+
var webService = WsdlFactory.CriaWsdlMDFeRecepcao();
8280

8381
OnAntesDeEnviar(enviMDFe);
8482

8583
var retornoXml = webService.mdfeRecepcaoLote(enviMDFe.CriaXmlRequestWs());
8684

8785
var retorno = MDFeRetEnviMDFe.LoadXml(retornoXml.OuterXml, enviMDFe);
88-
retorno.SalvarXmlEmDisco(config);
86+
retorno.SalvarXmlEmDisco();
8987

9088
return retorno;
9189
}
9290

93-
public MDFeRetMDFe MDFeRecepcaoSinc(MDFeEletronico mdfe, MDFeConfiguracao cfgMdfe = null)
91+
public MDFeRetMDFe MDFeRecepcaoSinc(MDFeEletronico mdfe)
9492
{
95-
var config = cfgMdfe ?? MDFeConfiguracao.Instancia;
96-
9793
mdfe.InfMDFe.InfModal.VersaoModal = MDFeVersaoModal.Versao300;
9894
mdfe.InfMDFe.Ide.ProxyDhIniViagem = mdfe.InfMDFe.Ide.DhIniViagem.ParaDataHoraStringUtc();
99-
mdfe.Assina(GerouChave, this, config);
95+
mdfe.Assina(GerouChave, this);
10096

101-
if (config.IsAdicionaQrCode)
97+
if (MDFeConfiguracao.IsAdicionaQrCode)
10298
{
103-
mdfe.InfMDFeSupl = mdfe.QrCode(config.X509Certificate2);
99+
mdfe.infMDFeSupl = mdfe.QrCode(MDFeConfiguracao.X509Certificate2);
104100
}
105101

106-
mdfe.Valida(config);
107-
mdfe.SalvarXmlEmDisco(null, config);
102+
mdfe.Valida();
103+
mdfe.SalvarXmlEmDisco();
108104

109-
var webService = WsdlFactory.CriaWsdlMDFeRecepcaoSinc(config);
105+
var webService = WsdlFactory.CriaWsdlMDFeRecepcaoSinc();
110106
var retornoXml = webService.mdfeRecepcao(mdfe.CriaXmlRequestWs());
111107

112108
var retorno = MDFeRetMDFe.LoadXml(retornoXml.OuterXml, mdfe);

0 commit comments

Comments
 (0)