[Resolvido] Pegar o último Numero de uma coluna Excel
Boa Tarde Pessoal, tenho uma consulta de processo judicial e gravação do mesmo dentro do método da thread. Gostaria de saber se existe a possibilidade de pegar pelo ultimo numero do processo judicial em ordem?
Índice 2.
Coluna C
NUMERO JUDICIAL
000021367.2017.8.08.0048
000638185.2017.8.08.0048
001049737.2017.8.08.0048
001133917.2017.8.08.0048
001542883.2017.8.08.0048
001929402.2017.8.08.0048
002028223.2017.8.08.0048
002149042.2017.8.08.0048
002257733.2017.8.08.0048
002330052.2017.8.08.0048
003441427.2016.8.08.0014
002186638.2015.8.08.0035
000169323.2014.8.08.0004
000462858.2013.8.08.0008
000719472.2016.8.08.0008
000437297.2013.8.08.0014
000073242.2016.8.08.0027
000418944.2014.8.08.0030
001558009.2017.8.08.0024
001751436.2016.8.08.0024
002317848.2016.8.08.0024
003026033.2016.8.08.0024
Meu código:
private System.Threading.Tasks.Task ProcessamentoTabela(IEnumerable<DataRow> dadosparam, int i, Usuario usuarioLogado)
{
//usuarioLogado = aplUsuario.buscaPorLogin(ObterUsuarioAutenticado().Login);
i = 4;
i++;
Action<object> processamento = (dados) =>
{
/*if (NHibernate.Context.ThreadStaticSessionContext.HasBind(NhibernateHelper.SessionFactory.))*/
NHibernate.Context.ThreadStaticSessionContext.Bind(NhibernateHelper.HelpThreading().OpenSession());
//Tentativa de ordenação por linha dentro do foreach direto no método da thread.
//foreach (var linha in ((IEnumerable<DataRow>)dados).OrderBy(linha => linha["indice"]))
foreach (var linha in (IEnumerable<DataRow>)dados)
{
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());
processo = aplProcesso.consultar---ProcessoER(linha.ItemArray[2].ToString().OrderBy());
}
//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))
log.Append("O interessado informado na linha " + (linha["indice"]) + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
//log.Append("O interessado " + processo.Interessado.Nome + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
// log.Append("O interessado " + processo.Interessado.Nome + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
setProcInter(processo, interessado, linha, i);
}
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;
}
aplProcesso.gravar(processo);
//aplLog.LogarAtividade(aplUsuario.buscaPorLogin(ObterUsuarioAutenticado().Login), "Importação do processo de número judicial: " + processo.NumProcessoJudicial
aplLog.LogarAtividade(usuarioLogado, "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, i);
}
}//Fim Foreach
//ClientScript.RegisterStartupScript(Page.GetType(), "Carregando...", "<script>document.getElementById('progresso').style.width = '60%';</script>");
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>");
};
ISession sessao = ThreadStaticSessionContext.Unbind(NhibernateHelper.HelpThreading());
if (sessao != null)
{
if (sessao.Transaction != null && sessao.Transaction.IsActive)
{
sessao.Transaction.Rollback();
}
else
{
sessao.Flush();
}
sessao.Close();
}
//Tarefas baseadas de forma assíncrona
System.Threading.Tasks.Task tarefa_executar = new System.Threading.Tasks.Task(processamento, dadosparam);
return tarefa_executar;
}Discussão (1)
Carregando comentários...