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); } }
public JsonResult EFDJson() { var response = new ResponseServicosNotaFiscal(); try { var xml = XElement.Parse(Request.Form["xml"].ToString()); var key = Request.Form["key"].ToString(); response = Servicos.GravarNotaFiscalNoBancoDeDados(xml, key); } catch (Exception ex) { response.Codigo = 501; response.Status = "Houve um erro no processamento da nota fiscal"; log.Error(response.Status, ex); } return Json(response); }
public ServicosException(string message, Exception innerException, int codigo) : base(message, innerException) { this.Codigo = codigo; Response = new ResponseServicosNotaFiscal(codigo, message); }
public ServicosException(string message) : base(message) { this.Codigo = 0; Response = new ResponseServicosNotaFiscal(this.Codigo, message); }