public void CriarNotaApartirDoXml() { var xml = XElement.Parse(Properties.Resources.NFe24111208403578000109550010000415051001727279); var nota = FabricaNotaFiscal.Criar(xml); Assert.AreEqual("NFe24110604385909000166550010000000521001535245", nota.ChaveAcesso); }
public void CriarNotaApartirDoXmlSemDataSaidaHoraSaida() { var xml = XElement.Parse(Properties.Resources.NFe24110604385909000166550010000000531001542290); var nota = FabricaNotaFiscal.Criar(xml); Assert.AreEqual("NFe24110604385909000166550010000000531001542290", nota.ChaveAcesso); }
public ResponseServicosNotaFiscal GravarNotaFiscalNoBancoDeDados(XElement xml, string chaveUsuario) { ResponseServicosNotaFiscal response; try { var usuario = RepositorioUsuario.BuscarUsuarioPorChave(chaveUsuario); ValidarUsuario(usuario); ValidarXmlDaNota(xml, usuario); var nota = FabricaNotaFiscal.Criar(xml, usuario); ValidarNotaFiscal(nota); SalvarXmlNaPastaDoEmitente(nota, xml); RepositorioNota.Incluir(nota); var emitente = FabricaParticipante.CriarEmitente(xml); RepositorioParticipante.Incluir(emitente); var destinatario = FabricaParticipante.CriarDestinatario(xml); if (RepositorioParticipante.SelecionarPorCnpjCpf(destinatario.CnpjCpf) == null) { RepositorioParticipante.Incluir(destinatario); } response = new ResponseServicosNotaFiscal(100, "Nota recebida com sucesso"); return(response); } catch (ServicosException ex) { return(ex.Response); } catch (Exception ex) { return(response = new ResponseServicosNotaFiscal(501, "erro no servidor " + ex.Message)); } }