public void CadastrarErroGenerico(int grvId, int usuarioId, string identificadorNota, OrigemErro origemErro, Acao acao, string mensagemErro) { var erro = new NfeWsErroModel { GrvId = grvId, IdentificadorNota = identificadorNota, UsuarioId = usuarioId, Acao = (char)acao, OrigemErro = (char)origemErro, MensagemErro = mensagemErro }; try { int id = new NfeWsErroController().Cadastrar(erro); } catch { } }
public List <NfeWsErroModel> Listar(NfeWsErroModel model) { var SQL = new StringBuilder(); SQL.AppendLine("SELECT ErroId"); SQL.AppendLine(" ,GrvId"); SQL.AppendLine(" ,IdentificadorNota"); SQL.AppendLine(" ,UsuarioId"); SQL.AppendLine(" ,Acao"); SQL.AppendLine(" ,OrigemErro"); SQL.AppendLine(" ,Status"); SQL.AppendLine(" ,CodigoErro"); SQL.AppendLine(" ,MensagemErro"); SQL.AppendLine(" ,CorrecaoErro"); SQL.AppendLine(" ,DataHoraCadastro"); SQL.AppendLine(" FROM dbo.tb_dep_nfe_ws_erros"); SQL.AppendLine(" WHERE 1 = 1"); if (model.ErroId > 0) { SQL.Append(" AND ErroId = ").Append(model.ErroId).AppendLine(); } if (model.GrvId > 0) { SQL.Append(" AND GrvId = ").Append(model.GrvId).AppendLine(); } if (!string.IsNullOrWhiteSpace(model.IdentificadorNota)) { SQL.Append(" AND IdentificadorNota = '").Append(model.IdentificadorNota).AppendLine("'"); } using (var dataTable = DataBase.Select(SQL)) { return(dataTable == null ? null : DataTableUtil.DataTableToList <NfeWsErroModel>(dataTable)); } }
private bool ProcessarResultado(string json, int usuarioId, NfeEntity nfe) { try { var results = JsonConvert.DeserializeObject <dynamic>(json); if (json.Contains("processando_autorizacao")) { nfe.CodigoRetorno = int.Parse(results["ref"].ToString().Replace("{", "").Replace("}", "")); new NfeMensagemController().Cadastrar(new NfeMensagemEntity { NfeId = nfe.NfeId, Tipo = nfe.NfeComplementarId == null ? 'E' : 'R', Mensagem = (string)JObject.Parse(json)["status"] }); if (nfe.NfeComplementarId == null) { nfe.Status = 'A'; } else { nfe.Status = 'S'; } new NfeController().AguardandoProcessamento(nfe); return(true); } else { var retornoErro = new NfeWsErroModel { GrvId = nfe.GrvId, IdentificadorNota = nfe.IdentificadorNota, UsuarioId = usuarioId, Acao = (char)Acao.Retorno, OrigemErro = (char)OrigemErro.WebService, Status = results["codigo"], MensagemErro = results["mensagem"] }; retornoErro.Status = retornoErro.Status.Trim().ToUpper(); retornoErro.MensagemErro = retornoErro.MensagemErro.Trim(); retornoErro.ErroId = new NfeWsErroController().Cadastrar(retornoErro); nfe.Status = 'E'; new NfeController().Atualizar(nfe); return(false); } } catch (Exception ex) { throw new Exception(ex.Message); } }
public int Cadastrar(NfeWsErroModel model) { var SQL = new StringBuilder(); SQL.AppendLine("INSERT INTO dbo.tb_dep_nfe_ws_erros"); SQL.AppendLine(" (GrvId"); SQL.AppendLine(" ,IdentificadorNota"); SQL.AppendLine(" ,UsuarioId"); SQL.AppendLine(" ,Acao"); SQL.AppendLine(" ,OrigemErro"); SQL.AppendLine(" ,Status"); SQL.AppendLine(" ,CodigoErro"); SQL.AppendLine(" ,MensagemErro"); SQL.AppendLine(" ,CorrecaoErro)"); SQL.AppendLine("VALUES"); SQL.AppendLine(" (@GrvId"); SQL.AppendLine(" ,@IdentificadorNota"); SQL.AppendLine(" ,@UsuarioId"); SQL.AppendLine(" ,@Acao"); SQL.AppendLine(" ,@OrigemErro"); SQL.AppendLine(" ,@Status"); SQL.AppendLine(" ,@CodigoErro"); SQL.AppendLine(" ,@MensagemErro"); SQL.AppendLine(" ,@CorrecaoErro)"); if (model.Status != null) { model.Status = model.Status.ToUpper().Trim(); if (model.Status.Length > 30) { model.Status = model.Status.Substring(0, 30); } } if (model.CodigoErro != null) { model.CodigoErro = model.CodigoErro.ToUpper().Trim(); model.CodigoErro = model.CodigoErro.Trim(); if (model.CodigoErro.Equals("---") || model.CodigoErro.Equals("...")) { model.CodigoErro = string.Empty; } else if (model.CodigoErro.Length > 30) { model.CodigoErro = model.CodigoErro.Substring(0, 30).Trim(); } } if (model.MensagemErro != null) { model.MensagemErro = model.MensagemErro.Trim(); if (model.MensagemErro.Length > 1000) { model.MensagemErro = model.MensagemErro.Substring(0, 1000).Trim(); } } if (model.CorrecaoErro != null) { model.CorrecaoErro = model.CorrecaoErro.Trim(); if (model.CorrecaoErro.Equals("---") || model.CorrecaoErro.Equals("...")) { model.CorrecaoErro = string.Empty; } else if (model.CorrecaoErro.Length > 1000) { model.CorrecaoErro = model.CorrecaoErro.Substring(0, 1000).Trim(); } } SqlParameter[] sqlParameters = { new SqlParameter("@GrvId", SqlDbType.Int) { Value = model.GrvId }, new SqlParameter("@IdentificadorNota", SqlDbType.VarChar) { Value = model.IdentificadorNota }, new SqlParameter("@UsuarioId", SqlDbType.Int) { Value = model.UsuarioId }, new SqlParameter("@Acao", SqlDbType.Char) { Value = model.Acao }, new SqlParameter("@OrigemErro", SqlDbType.Char) { Value = model.OrigemErro }, new SqlParameter("@Status", SqlDbType.VarChar) { Value = model.Status }, new SqlParameter("@CodigoErro", SqlDbType.VarChar) { Value = model.CodigoErro }, new SqlParameter("@MensagemErro", SqlDbType.VarChar) { Value = model.MensagemErro }, new SqlParameter("@CorrecaoErro", SqlDbType.VarChar) { Value = model.CorrecaoErro } }; return(DataBase.ExecuteScopeIdentity(SQL, sqlParameters)); }
public NfeWsErroModel Selecionar(NfeWsErroModel model) { var list = Listar(model); return(list?.FirstOrDefault()); }
private RetornoNotaFiscalEntity ProcessarRetorno(GrvEntity grv, NfeEntity nfe, Consulta identificaoNotaFiscal, string retornoJson) { RetornoNotaFiscalEntity retornoConsulta = new JavaScriptSerializer() { MaxJsonLength = int.MaxValue }.Deserialize <RetornoNotaFiscalEntity>(retornoJson); if (retornoConsulta.status.Trim().Equals("processando_autorizacao", StringComparison.CurrentCultureIgnoreCase)) { return(retornoConsulta); } NfeWsErroModel retornoErro = new NfeWsErroModel(); NfeWsErroController NfeWsErroController = new NfeWsErroController(); if (retornoConsulta.erros != null) { foreach (Erros erro in retornoConsulta.erros) { retornoErro.GrvId = identificaoNotaFiscal.GrvId; retornoErro.IdentificadorNota = identificaoNotaFiscal.IdentificadorNota; retornoErro.UsuarioId = identificaoNotaFiscal.UsuarioId; retornoErro.Acao = (char)Acao.Retorno; retornoErro.OrigemErro = (char)OrigemErro.WebService; retornoErro.Status = retornoConsulta.status.Trim().ToUpper(); if (erro.codigo != null) { retornoErro.CodigoErro = erro.codigo.Replace(" ", " ").Trim().ToUpper(); } if (erro.mensagem != null) { retornoErro.MensagemErro = erro.mensagem.Replace(" ", " ").Trim(); } if (erro.correcao != null) { retornoErro.CorrecaoErro = erro.correcao.Replace(" ", " ").Trim(); } retornoErro.ErroId = NfeWsErroController.Cadastrar(retornoErro); } nfe.Status = 'E'; new NfeController().Atualizar(nfe); return(retornoConsulta); } else { retornoErro.GrvId = identificaoNotaFiscal.GrvId; retornoErro.IdentificadorNota = identificaoNotaFiscal.IdentificadorNota; retornoErro.UsuarioId = identificaoNotaFiscal.UsuarioId; retornoErro.Acao = (char)Acao.Retorno; retornoErro.OrigemErro = (char)OrigemErro.WebService; retornoErro.Status = retornoConsulta.status.Trim().ToUpper(); NfeWsErroController.Cadastrar(retornoErro); } if (!string.IsNullOrWhiteSpace(retornoConsulta.url)) { retornoConsulta.url = retornoConsulta.url.Replace("nfse.aspx", "/NFSE/contribuinte/notaprintimg.aspx"); if (!string.IsNullOrWhiteSpace(retornoConsulta.url)) { retornoConsulta.ImagemNotaFiscal = BaixarImagem(grv.ClienteId, grv.DepositoId, nfe.IdentificadorNota, identificaoNotaFiscal, retornoConsulta.url); } if (identificaoNotaFiscal.BaixarImagemOriginal) { return(retornoConsulta); } nfe.Status = nfe.Status == 'A' ? 'P' : 'T'; new NfeImagemController().Excluir(nfe.NfeId); new NfeImagemController().Cadastrar(nfe.NfeId, retornoConsulta.ImagemNotaFiscal); new NfeController().AtualizarRetornoNotaFiscal(nfe, retornoConsulta); } return(retornoConsulta); }
public string CancelarNotaFiscal(Cancelamento model) { DataBase.SystemEnvironment = model.Homologacao ? SystemEnvironment.Development : SystemEnvironment.Production; var nfe = new NfeController().ConsultarNotaFiscal(model.GrvId, model.UsuarioId, model.IdentificadorNota, Acao.Cancelamento); if (nfe == null) { new NfeWsErroController().CadastrarErroGenerico(model.GrvId, model.UsuarioId, model.IdentificadorNota, OrigemErro.MobLink, Acao.Retorno, "Nota Fiscal não encontrada"); return($"Nota Fiscal {model.GrvId}/{model.IdentificadorNota} não encontrada"); } var grv = new GrvController().Selecionar(model.GrvId); #region Empresa EmpresaEntity Empresa; if ((Empresa = new EmpresaController().Selecionar(new EmpresaEntity { EmpresaId = new DepositoController().Selecionar(grv.DepositoId).EmpresaId })) == null) { new NfeWsErroController().CadastrarErroGenerico(model.GrvId, model.UsuarioId, model.IdentificadorNota, OrigemErro.MobLink, Acao.Retorno, "Empresa associada não encontrada"); return("Empresa associada não encontrada"); } else if (Empresa.Token == null) { new NfeWsErroController().CadastrarErroGenerico(model.GrvId, model.UsuarioId, model.IdentificadorNota, OrigemErro.MobLink, Acao.Retorno, $"Empresa {Empresa.Nome} sem Token cadastrado"); return($"Empresa {Empresa.Nome} sem Token cadastrado"); } #endregion Empresa var tools = new Tools(); string jsonEnvio = tools.ObjToJSON(new Dictionary <string, string>() { { "justificativa", model.Justificativa } }); string jsonRetorno; try { jsonRetorno = tools.CancelarNfse(new NfeConfiguracao().GetRemoteServer() + "/" + model.IdentificadorNota, jsonEnvio, Empresa.Token); } catch (Exception ex) { new NfeWsErroController().CadastrarErroGenerico(nfe.GrvId, model.UsuarioId, nfe.IdentificadorNota, OrigemErro.WebService, Acao.Cancelamento, "Ocorreu um erro ao cancelar a Nota Fiscal: " + ex.Message); return($"Ocorreu um erro ao cancelar a Nota Fiscal ({model.GrvId}/{model.IdentificadorNota}): {ex.Message}"); } try { var retornoConsulta = new JavaScriptSerializer() { MaxJsonLength = int.MaxValue }.Deserialize <RetornoCancelamentoEntity>(jsonRetorno); if (retornoConsulta.erros != null) { var retornoErro = new NfeWsErroModel(); foreach (var erro in retornoConsulta.erros) { retornoErro.GrvId = model.GrvId; retornoErro.IdentificadorNota = model.IdentificadorNota; retornoErro.UsuarioId = model.UsuarioId; retornoErro.Acao = (char)Acao.Retorno; retornoErro.OrigemErro = (char)OrigemErro.WebService; retornoErro.Status = retornoConsulta.status.Trim().ToUpper(); if (erro.codigo != null) { retornoErro.CodigoErro = erro.codigo.Replace(" ", " ").Trim().ToUpper(); } if (erro.mensagem != null) { retornoErro.MensagemErro = erro.mensagem.Replace(" ", " ").Trim(); } if (erro.correcao != null) { retornoErro.CorrecaoErro = erro.correcao.Replace(" ", " ").Trim(); } retornoErro.ErroId = new NfeWsErroController().Cadastrar(retornoErro); } return(jsonRetorno); } } catch (Exception ex) { if (true) { } } nfe.Status = 'N'; new NfeController().Atualizar(nfe); return(jsonRetorno); }