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 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 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); }