• 0
Sign in to follow this  
rtavix

Dúvidas com relação a mensagem para o usuário

Question

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.consultarPorNProcessoER(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.consultarPorNProcessoER(linha.ItemArray[1].ToString());
                    if (processo == null)
                    {
                        if (!linha.ItemArray[2].ToString().Equals(""))
                            processo = aplProcesso.consultarPorNProcessoER(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.ConsultarPorNomeVaraNomeComarca(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;
        }

 

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this