public static MDFEletronico Assina(this MDFEletronico mdfe) { if (mdfe == null) { throw new ArgumentException("Erro de assinatura, MDFe esta null"); } var modeloDocumentoFiscal = (int)mdfe.InfMDFe.Ide.Mod; var tipoEmissao = (int)mdfe.InfMDFe.Ide.TpEmis; var codigoNumerico = mdfe.InfMDFe.Ide.CMDF; var codigoIbgeUf = (int)mdfe.InfMDFe.Ide.CUF; var dataEHoraEmissao = mdfe.InfMDFe.Ide.DhEmi; var documentoUnico = long.Parse(mdfe.InfMDFe.Emit.CNPJ); var numeroDocumento = mdfe.InfMDFe.Ide.NMDF; int serie = mdfe.InfMDFe.Ide.Serie; var gerarChave = new GerarChaveFiscal(modeloDocumentoFiscal, tipoEmissao, codigoNumerico, codigoIbgeUf, dataEHoraEmissao, documentoUnico, numeroDocumento, serie); mdfe.InfMDFe.Id = "MDFe" + gerarChave.Chave; mdfe.InfMDFe.Versao = VersaoServico.Versao100; mdfe.InfMDFe.Ide.CDV = gerarChave.DigitoVerificador; var assinatura = AssinaturaDigital.Assina(mdfe, mdfe.InfMDFe.Id, MDFeConfiguracao.X509Certificate2); mdfe.Signature = assinatura; return(mdfe); }
public void EventoEncerramento1_0() { var config = new ConfiguracaoDao().BuscarConfiguracao(); CarregarConfiguracoesMDFe(config); MDFeEletronico mdfe; var caminhoXml = BuscarArquivoXmlMDFe(); if (caminhoXml.Contains("completo")) { var enviMDFe = MDFeEnviMDFe.LoadXmlArquivo(caminhoXml); mdfe = enviMDFe.MDFe; } else { mdfe = MDFeEletronico.LoadXmlArquivo(caminhoXml); } var evento = new ServicoMDFeEvento(); var protocolo = InputBoxTuche("Digite um protocolo"); if (string.IsNullOrEmpty(protocolo)) { MessageBoxTuche("O protocolo não pode ser vazio ou nulo"); return; } var retorno = evento.MDFeEventoEncerramentoMDFeEventoEncerramento(mdfe, 1, protocolo); OnSucessoSync(new RetornoEEnvio(retorno)); }
public static void SalvarXmlEmDisco(this MDFEletronico mdfe) { if (MDFeConfiguracao.NaoSalvarXml()) { return; } var arquivoSalvar = MDFeConfiguracao.CaminhoSalvarXml + @"\" + mdfe.Chave() + "-mdfe.xml"; FuncoesXml.ClasseParaArquivoXml(mdfe, arquivoSalvar); }
public static void SalvarXmlEmDisco(this MDFEletronico mdfe, string nomeArquivo = null) { if (MDFeConfiguracao.NaoSalvarXml()) { return; } if (string.IsNullOrEmpty(nomeArquivo)) { nomeArquivo = MDFeConfiguracao.CaminhoSalvarXml + @"\" + mdfe.Chave() + "-mdfe.xml"; } FuncoesXml.ClasseParaArquivoXml(mdfe, nomeArquivo); }
public void EventoIncluirCondutor1_0() { var config = new ConfiguracaoDao().BuscarConfiguracao(); CarregarConfiguracoesMDFe(config); var evento = new ServicoMDFeEvento(); MDFeEletronico mdfe; var caminhoXml = BuscarArquivoXmlMDFe(); if (caminhoXml.Contains("completo")) { var enviMDFe = MDFeEnviMDFe.LoadXmlArquivo(caminhoXml); mdfe = enviMDFe.MDFe; } else { mdfe = MDFeEletronico.LoadXmlArquivo(caminhoXml); } var nomeCondutor = InputBoxTuche("Nome condutor"); var cpfCondutor = InputBoxTuche("Cpf condutor"); if (string.IsNullOrEmpty(nomeCondutor)) { MessageBoxTuche("Nome do condutor não pode ser vazio ou nulo"); return; } if (string.IsNullOrEmpty(cpfCondutor)) { MessageBoxTuche("CPF do condutor não pode ser vazio ou nulo"); return; } var retorno = evento.MDFeEventoIncluirCondutor(mdfe, 1, nomeCondutor, cpfCondutor); OnSucessoSync(new RetornoEEnvio(retorno)); }
private string BuscarChaveMDFe() { var chave = string.Empty; var caminhoArquivoXml = BuscarArquivoXmlMDFe(); if (caminhoArquivoXml != null) { if (caminhoArquivoXml.Contains("completo")) { var enviMDFe = MDFeEnviMDFe.LoadXmlArquivo(caminhoArquivoXml); chave = enviMDFe.MDFe.Chave(); } else { var mdfe = MDFeEletronico.LoadXmlArquivo(caminhoArquivoXml); chave = mdfe.Chave(); } } return(chave); }
public static MDFEletronico Valida(this MDFEletronico mdfe) { if (mdfe == null) { throw new ArgumentException("Erro de assinatura, MDFe esta null"); } var xmlMdfe = FuncoesXml.ClasseParaXmlString(mdfe); Validador.Valida(xmlMdfe, "MDFe_v1.00.xsd"); var tipoModal = mdfe.InfMDFe.InfModal.Modal.GetType(); var xmlModal = FuncoesXml.ClasseParaXmlString(mdfe.InfMDFe.InfModal); if (tipoModal == typeof(MDFeRodo)) { Validador.Valida(xmlModal, "MDFeModalRodoviario_v1.00.xsd"); } if (tipoModal == typeof(MDFeAereo)) { Validador.Valida(xmlModal, "MDFeModalAereo_v1.00.xsd"); } if (tipoModal == typeof(MDFeAquav)) { Validador.Valida(xmlModal, "MDFeModalAquaviario_v1.00.xsd"); } if (tipoModal == typeof(MDFeFerrov)) { Validador.Valida(xmlModal, "MDFeModalFerroviario_v1.00.xsd"); } return(mdfe); }
public void GerarESalvar1_0() { var config = new ConfiguracaoDao().BuscarConfiguracao(); CarregarConfiguracoesMDFe(config); var mdfe = new ManifestoDocumentoFiscalEletronico.Classes.Informacoes.MDFe(); #region (ide) mdfe.InfMDFe.Ide.CUF = config.ConfigWebService.UfEmitente; mdfe.InfMDFe.Ide.TpAmb = config.ConfigWebService.Ambiente; mdfe.InfMDFe.Ide.TpEmit = MDFeTipoEmitente.PrestadorServicoDeTransporte; mdfe.InfMDFe.Ide.Mod = MDFeModelo.MDFe; mdfe.InfMDFe.Ide.Serie = 750; mdfe.InfMDFe.Ide.NMDF = ++config.ConfigWebService.Numeracao; mdfe.InfMDFe.Ide.CMDF = GetRandom(); mdfe.InfMDFe.Ide.Modal = MDFeModal.Rodoviario; mdfe.InfMDFe.Ide.DhEmi = DateTime.Now; mdfe.InfMDFe.Ide.TpEmis = MDFeTipoEmissao.Normal; mdfe.InfMDFe.Ide.ProcEmi = MDFeIdentificacaoProcessoEmissao.EmissaoComAplicativoContribuinte; mdfe.InfMDFe.Ide.VerProc = "versao28383"; mdfe.InfMDFe.Ide.UFIni = EstadoUF.GO; mdfe.InfMDFe.Ide.UFFim = EstadoUF.MT; mdfe.InfMDFe.Ide.InfMunCarrega.Add(new MDFeInfMunCarrega { CMunCarrega = "5211701", XMunCarrega = "JANDAIA" }); mdfe.InfMDFe.Ide.InfMunCarrega.Add(new MDFeInfMunCarrega { CMunCarrega = "5209952", XMunCarrega = "INDIARA" }); mdfe.InfMDFe.Ide.InfMunCarrega.Add(new MDFeInfMunCarrega { CMunCarrega = "5200134", XMunCarrega = "ACREUNA" }); #endregion (ide) #region dados emitente (emit) mdfe.InfMDFe.Emit.CNPJ = config.Empresa.Cnpj; mdfe.InfMDFe.Emit.IE = config.Empresa.InscricaoEstadual; mdfe.InfMDFe.Emit.XNome = config.Empresa.Nome; mdfe.InfMDFe.Emit.XFant = config.Empresa.NomeFantasia; mdfe.InfMDFe.Emit.EnderEmit.XLgr = config.Empresa.Logradouro; mdfe.InfMDFe.Emit.EnderEmit.Nro = config.Empresa.Numero; mdfe.InfMDFe.Emit.EnderEmit.XCpl = config.Empresa.Complemento; mdfe.InfMDFe.Emit.EnderEmit.XBairro = config.Empresa.Bairro; mdfe.InfMDFe.Emit.EnderEmit.CMun = config.Empresa.CodigoIbgeMunicipio; mdfe.InfMDFe.Emit.EnderEmit.XMun = config.Empresa.NomeMunicipio; mdfe.InfMDFe.Emit.EnderEmit.CEP = long.Parse(config.Empresa.Cep); mdfe.InfMDFe.Emit.EnderEmit.UF = config.Empresa.SiglaUf; mdfe.InfMDFe.Emit.EnderEmit.Fone = config.Empresa.Telefone; mdfe.InfMDFe.Emit.EnderEmit.Email = config.Empresa.Email; #endregion dados emitente (emit) #region modal mdfe.InfMDFe.InfModal.Modal = new MDFeRodo { RNTRC = config.Empresa.RNTRC, VeicTracao = new MDFeVeicTracao { Placa = "KKK9888", RENAVAM = "888888888", UF = EstadoUF.GO, Tara = 222, CapM3 = 222, CapKG = 22, Condutor = new List <MDFeCondutor> { new MDFeCondutor { CPF = "11392381754", XNome = "Ricardão" } }, TpRod = MDFeTpRod.Outros, TpCar = MDFeTpCar.NaoAplicavel } }; #endregion modal #region infMunDescarga mdfe.InfMDFe.InfDoc.InfMunDescarga = new List <MDFeInfMunDescarga> { new MDFeInfMunDescarga { XMunDescarga = "CUIABA", CMunDescarga = "5103403", InfCTe = new List <MDFeInfCTe> { new MDFeInfCTe { ChCTe = "52161021351378000100577500000000191194518006" } } } }; #endregion infMunDescarga #region Totais (tot) mdfe.InfMDFe.Tot.QCTe = 1; mdfe.InfMDFe.Tot.vCarga = 500.00m; mdfe.InfMDFe.Tot.CUnid = MDFeCUnid.KG; mdfe.InfMDFe.Tot.QCarga = 100.0000m; #endregion Totais (tot) #region informações adicionais (infAdic) mdfe.InfMDFe.InfAdic = new MDFeInfAdic { InfCpl = "aaaaaaaaaaaaaaaa" }; #endregion mdfe = mdfe.Assina(); mdfe = mdfe.Valida(); mdfe.SalvarXmlEmDisco(); }
public static long CodigoIbgeMunicipioEmitente(this MDFEletronico mdfe) { var codigo = mdfe.InfMDFe.Emit.EnderEmit.CMun; return(codigo); }
public static EstadoUF UFEmitente(this MDFEletronico mdfe) { var estadoUf = mdfe.InfMDFe.Emit.EnderEmit.UF; return(estadoUf); }
public static string CNPJEmitente(this MDFEletronico mdfe) { var cnpj = mdfe.InfMDFe.Emit.CNPJ; return(cnpj); }
public static string Chave(this MDFEletronico mdfe) { var chave = mdfe.InfMDFe.Id.Substring(4, 44); return(chave); }
public static string XmlString(this MDFEletronico mdfe) { return(FuncoesXml.ClasseParaXmlString(mdfe)); }