Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com dúvidas de como eu posso enviar um log de mensagem para o usuário, implementei esse código, porém tanto o log informado para o usuário que o interessado de uma determinada linha foi importado referente ao processo tal, mas não funciona, e o log de atividades que não esta salvando os dados do usuário no banco de dados. Por gentileza alguém poderia me instruir melhor?
Segue o código:
private System.Threading.Tasks.Task ProcessamentoTabela(IEnumerable<DataRow> dadosparam, int indiceLinha)
{
Action<object> processamento = (dados) =>
{
/*if (NHibernate.Context.ThreadStaticSessionContext.HasBind(NhibernateHelper.SessionFactory.))*/
NHibernate.Context.ThreadStaticSessionContext.Bind(NhibernateHelper.HelpThreading().OpenSession());
/*try
{
loglbl.Text += DateTime.Now.ToString("dd/MM/yyyy ss:fff ") + " ## " + NhibernateHelper.SessaoCorrente.IsConnected;
}
catch (Exception ex)
{
loglbl.Text += DateTime.Now.ToString("dd/MM/yyyy ss:fff ") + " ## " + ex.Message;
}*/
/*var lista = ((IEnumerable<DataRow>)dados).FirstOrDefault();
var processo = aplProcesso.consultar---ProcessoER(lista.ItemArray[1].ToString());*/
foreach (var linha in (IEnumerable<DataRow>)dados)
{
int i = 0;
i = i + 1;
List<Processo> listaProcessoExistente = new List<Processo>();
Processo processo = null;
Interessado interessado = new Interessado();
//busca o processo pelo nº judicial anterior ou atual
if (!linha.ItemArray[1].ToString().Equals(""))
processo = aplProcesso.consultar---ProcessoER(linha.ItemArray[1].ToString());
if (processo == null)
{
if (!linha.ItemArray[2].ToString().Equals(""))
processo = aplProcesso.consultar---ProcessoER(linha.ItemArray[2].ToString());
}
//busca o interessado por cpf/cnpj
if (linha.ItemArray[7].ToString().Length == 14)
interessado = aplInteressado.ConsultarPorCPF(AuxiliarCPF_CNPJ.DesformataCPF(linha.ItemArray[7].ToString()));
if (linha.ItemArray[7].ToString().Length == 18)
interessado = aplInteressado.ConsultarPorCPF(AuxiliarCPF_CNPJ.DesformataCNPJ(linha.ItemArray[7].ToString()));
if (processo != null)
{
//se o processo não for nulo busco todos procinter relacionados a ele
List<ProcessoInteressado> listaprocinter = aplProcessoInteressado.consultarPorIdProcesso(processo.Codigo);
if (listaprocinter.Exists(o => o.Interessado == interessado))
//loglbl.Text = loglbl.Text + "O interessado informado na linha " + indiceLinha.ToString() + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>";
log.Append("O interessado informado na linha " + linha + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
setProcInter(processo, interessado, linha);
}
else
{
//Novo Processo - 6.3
processo = new Processo();
processo.Interessado = interessado;
processo.NumProcessoJudicial = linha.ItemArray[2].ToString().Trim();
processo.RenunciaCredito = "N";
processo.Situacao = new AplSituacao().ConsultarPorId(1);
processo.HonorarioDativo = "S";
processo.Reclamado = new AplReclamado().buscaItem(2);
processo.TipoDocumento = new AplTipoDocumento().buscaItem(4);
processo.TipoProcesso = "O";
if (linha.ItemArray[5].ToString().Contains("juizado"))
processo.Tribunal = new AplTribunal().buscaItem(71);
else
processo.Tribunal = new AplTribunal().buscaItem(3);
processo.NaturezaDespeza = new AplNaturezadeDespesa().buscaItem(3);
VaraExecucao vara = new VaraExecucao();
if (!linha.ItemArray[3].ToString().Equals("") && !linha.ItemArray[5].ToString().Equals(""))
{
List<VaraExecucao> listaVaraComarca = aplVaraExecucao.Consultar---omeVaraNomeComarca(linha.ItemArray[5].ToString().Trim(), linha.ItemArray[3].ToString().Trim());
if (listaVaraComarca.Count != 0)
{
if (linha.ItemArray[4].ToString().Equals(""))
{
vara = listaVaraComarca.Find(o => o.NumeroVara == null);
}
else
{
vara = listaVaraComarca.Find(o => o.NumeroVara == int.Parse(linha.ItemArray[4].ToString().Trim()));
}
}
}
if (vara != null && vara.Codigo != 0)
{
processo.VaraExecucao = vara;
}
//obter lista sem registros duplicados. (Robson)
var ListaSemDuplicados = listaGravarProcesso.Distinct().ToList();
aplProcesso.gravar(processo);
aplLog.LogarAtividade(aplUsuario.buscaPorLogin(ObterUsuarioAutenticado().Login), "Importação do processo de número judicial: " + processo.NumProcessoJudicial
+ ". Interessado: " + processo.Interessado.Nome + " - " + processo.Interessado.CPF_CNPJ + ". Tribunal "
+ processo.Tribunal.NomeTribunal + ".", DateTime.Now);
//log.Append("O processo " + processo.NumProcessoJudicial + " informado na linha " + (i + 1) + " foi cadastrado com sucesso. <br>");
setProcInter(processo, interessado, linha);
}
}//Fim For
//ClientScript.RegisterStartupScript(typeof(string), "Carregando...", "<script>$('#progressbar').progressbar({value: 70});</script>");
ClientScript.RegisterStartupScript(Page.GetType(), "Carregando...", "<script>document.getElementById('progresso').style.width = '60%';</script>");
if (listaGravarProcInter.Count != 0)
{
foreach (ProcessoInteressado item in listaGravarProcInter)
{
//obter lista sem registros duplicados. (Robson)
var ListaSemDuplicados = listaGravarProcInter.Distinct().ToList();
aplProcessoInteressado.salvar(item);
}
}
if (listaLogsAuditoria.Count != 0)
{
foreach (var item in listaLogsAuditoria)
{
aplLog.LogarAtividade(aplUsuario.buscaPorLogin(ObterUsuarioAutenticado().Login), item, DateTime.Now);
}
}
logimportacao.Visible = true;
loglbl.Text = log.ToString();
//ClientScript.RegisterStartupScript(Page.GetType(), "Carregando...", "<script>document.getElementById('progresso').style.width = '100%';</script>");
ClientScript.RegisterStartupScript(typeof(string), "Alerta", "<script>alert('Arquivo importado com sucesso. Verifique o log na tela. ')</script>");
};
//else
//{
// logimportacao.Visible = true;
// loglbl.Text = log.ToString();
// ClientScript.RegisterStartupScript(typeof(string), "Erro", "<script>alert('Arquivo não importado. Verifique o log de erros na tela. ')</script>");
ISession sessao = ThreadStaticSessionContext.Unbind(NhibernateHelper.HelpThreading());
if (sessao != null)
{
if (sessao.Transaction != null && sessao.Transaction.IsActive)
{
sessao.Transaction.Rollback();
}
else
{
sessao.Flush();
}
sessao.Close();
}
else
{
logimportacao.Visible = true;
loglbl.Text = log.ToString();
ClientScript.RegisterStartupScript(typeof(string), "Erro", "<script>alert('Arquivo não importado. Verifique o log de erros na tela. ')</script>");
}
//Tarefas baseadas de forma assíncrona
System.Threading.Tasks.Task tarefa_executar = new System.Threading.Tasks.Task(processamento, dadosparam);
return tarefa_executar;
}Carregando comentários...