Pesquisar na Comunidade
Mostrando resultados para as tags ''aspt.net''.
Encontrado 1 registro
-
Pessoal, estou com o seguinte problema no meu código, eu não estou conseguindo gravar a primeira linha da planilha Excel, porém eu consigo gravar somente da segunda linha adiante, quando eu faço a consulta no meu banco de dados não aparece o nome da pessoa da primeira linha, que no caso se chama interessado lá no banco de dados, somente da segunda a diante que grava. Printei as imagens para vocês poderem visualizar na prática, consigo ler os três registros da planilha, porém não consigo gravar o da primeira linha, pega somente da segunda linha adiante galera. postarei meu código, preciso finalizar isso até quarta, queria ver se alguém pode me ajudar. Alguém sabe o que posso aplicar para resolver olhando meu código? Vou postar também meu código para ficar melhor a entender. No interessado mostra como tipo nulo e dá o seguinte erro: NHibernate.Exceptions.GenericADOException: could not insert: [SDPJDominio.Domain.Interessado#19516][SQL: INSERT INTO sdpj_interessado (TIP_INTERESSADO, CPF_CNPJ_INTERESSADO, NME_INTERESSADO, DSC_ENDERECO, NUM_ENDERECO, DSC_COMPLEMENTO, NUM_CEP, COD_BAIRRO, COD_MUNICIPIO, COD_INTERESSADO) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)] ---> Oracle.DataAccess.Client.OracleException: ORA-01400: não é possível inserir NULL em ("U_SDP"."SDPJ_INTERESSADO"."NME_INTERESSADO") Meu código: protected void importar_Click(object sender, EventArgs e) { DataTable Dados = new DataTable(); if (selecionarArquivo.HasFile) { if (Path.GetExtension(selecionarArquivo.FileName) != ".xlsx" && Path.GetExtension(selecionarArquivo.FileName) != ".xls") ClientScript.RegisterStartupScript(typeof(string), "Erro", "<script>alert('Somente arquivos em excel')</script>"); else { if (selecionarArquivo.FileContent != null) { string Excel = AppDomain.CurrentDomain.BaseDirectory + selecionarArquivo.FileName; selecionarArquivo.SaveAs(Excel); Dados = DadosExcel(Excel); var registrosValidos = ((DataTable)Dados).Rows.OfType<DataRow>().Skip(5); registrosValidos = registrosValidos.Take(registrosValidos.Count() - 1); int quantidade_por_pagina = 100; int total_de_paginas; int qtd_total_registros = registrosValidos.Count(); total_de_paginas = (int)Math.Ceiling((double)qtd_total_registros / quantidade_por_pagina); bool layoutValido = VerificaLayout(Dados); if (!layoutValido) ClientScript.RegisterStartupScript(typeof(string), "Erro", "<script>alert('Layout do arquivo fora do padrão definido para importação.')</script>"); else { VerificacaoPreliminar(registrosValidos); List<System.Threading.Tasks.Task> TarefasParalelas = new List<System.Threading.Tasks.Task>(); for (int i = 0; i < total_de_paginas; i++) { var pagina = i; var linhasPorPagina = registrosValidos.Skip(pagina * quantidade_por_pagina).Take(quantidade_por_pagina); var data_rows_divididos = linhasPorPagina.SplitList(10); foreach (var aaa in data_rows_divididos) { TarefasParalelas.Add(ProcessamentoTabela(aaa)); } } foreach (var tarefa in TarefasParalelas) tarefa.Start(); System.Threading.Tasks.Task.WaitAll(TarefasParalelas.ToArray()); ClientScript.RegisterStartupScript(Page.GetType(), "Carregando...", "<script>document.getElementById('progresso').style.width = '60%';</script>"); if (listaGravarProcInter.Count != 0) { var ListaSemDuplicados = listaGravarProcInter.Distinct().ToList(); foreach (ProcessoInteressado item in ListaSemDuplicados) { aplProcessoInteressado.salvar(item); } } if (listaLogsAuditoria.Count != 0) { foreach (var item in listaLogsAuditoria) { aplLog.LogarAtividade(aplUsuario.buscaPorLogin(ObterUsuarioAutenticado().Login), item, DateTime.Now); } } else { 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>"); }*/ } } } } } private System.Threading.Tasks.Task ProcessamentoTabela(IEnumerable<DataRow> dadosparam) { Action<object> processamento = (dados) => { NHibernate.Context.ThreadStaticSessionContext.Bind(NhibernateHelper.Teste().OpenSession()); foreach (var linha in (IEnumerable<DataRow>)dados) { List<Processo> listaProcessoExistente = new List<Processo>(); Processo processo = null; Interessado interessado = new Interessado(); if (!arquivoInvalidado) //ClientScript.RegisterStartupScript(Page.GetType(), "Carregando...", "<script>document.getElementById('progresso').style.width = '30%';</script>"); //Verifica se existe mais de 1 interessado com mesmo CPF cadastrado, salva os interessados inexistentes e altera os cadastros q tem interessados duplicados. this.ValidaDuplicidadeInteressado(); 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()); } 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) { List<ProcessoInteressado> listaprocinter = aplProcessoInteressado.consultarPorIdProcesso(processo.Codigo); if (listaprocinter.Exists(o => o.Interessado == interessado)) log.Append("O interessado informado na linha " + (1) + " 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; } 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>"); } 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); } } ISession sessao = ThreadStaticSessionContext.Unbind(NhibernateHelper.Teste()); if (sessao != null) { if (sessao.Transaction != null && sessao.Transaction.IsActive) { sessao.Transaction.Rollback(); } else { //sessao.Flush(); } sessao.Close(); } }; System.Threading.Tasks.Task tarefa_executar = new System.Threading.Tasks.Task(processamento, dadosparam); return tarefa_executar; } private Interessado setInteressado(DataRow linha) { Interessado interessado = new Interessado(); AplMunicipio aplMunicipio = new AplMunicipio(); AplBairro aplBairro = new AplBairro(); interessado.Nome = linha.ItemArray[6].ToString().ToUpper(); if (!linha.ItemArray[8].ToString().Equals("")) interessado.Endereco = linha.ItemArray[8].ToString().ToUpper(); if (!linha.ItemArray[9].ToString().Equals("")) interessado.Numero = interessado.Complemento = linha.ItemArray[9].ToString(); if (!linha.ItemArray[10].ToString().Equals("")) interessado.Complemento = linha.ItemArray[10].ToString().ToUpper(); if (!linha.ItemArray[13].ToString().Equals("")) { //Municipio municipio = aplMunicipio.ConsultarPorNome(linha.ItemArray[13].ToString().ToUpper()); Municipio municipio = this.listaMunicipios.Find(m => Utilitarios.RemoveAcentos(m.Nome).ToUpper() == Utilitarios.RemoveAcentos(linha.ItemArray[13].ToString()).ToUpper()); if (municipio == null) { municipio = new Municipio(); municipio.Estado = new AplEstado().buscaItem(1); municipio.Nome = linha.ItemArray[13].ToString().ToUpper(); //obter lista sem registros duplicados (Robson) var ListaSemDuplicados = listaMunicipios.Distinct().ToList(); aplMunicipio.gravar(municipio); } interessado.Municipio = municipio;// aplMunicipio.ConsultarPorNome(ds.Tables[0].Rows[i].ItemArray[13].ToString().ToUpper()); if (!String.IsNullOrEmpty(linha.ItemArray[11].ToString())) { //Bairro bairro = aplBairro.ConsultarPorNomeCodMunicipio(linha.ItemArray[11].ToString().ToUpper(), municipio.Codigo); List<Bairro> listaBairro = aplBairro.ListaPorIdMunicipio(municipio.Codigo); Bairro bairro = listaBairro.Find(b => Utilitarios.RemoveAcentos(b.Descricao).ToUpper() == Utilitarios.RemoveAcentos(linha.ItemArray[11].ToString()).ToUpper()); if (bairro == null) { bairro = new Bairro(); bairro.CodMunicipio = municipio; bairro.Descricao = linha.ItemArray[11].ToString().ToUpper(); //obter lista sem registros duplicados (Robson) var ListaSemDuplicados = listaBairro.Distinct().ToList(); aplBairro.gravar(bairro); } interessado.Bairro = bairro;// aplBairro.ConsultarPorNomeCodMunicipio(ds.Tables[0].Rows[i].ItemArray[11].ToString().ToUpper(), municipio.Codigo); } } if (!linha.ItemArray[12].ToString().Equals("")) interessado.Cep = linha.ItemArray[12].ToString(); if (!linha.ItemArray[7].ToString().Equals("")) if (linha.ItemArray[7].ToString().Length == 14) { interessado.CPF_CNPJ = AuxiliarCPF_CNPJ.DesformataCPF(linha.ItemArray[7].ToString()); interessado.Tipo = 1; } else if (linha.ItemArray[7].ToString().Length == 18) { interessado.CPF_CNPJ = AuxiliarCPF_CNPJ.DesformataCNPJ(linha.ItemArray[7].ToString()); interessado.Tipo = 2; } else { log.Append("O CPF/CNPJ informado na célula H" + ( 1) + " está em um formato incorreto. Favor corrigir a planilha. <br>"); arquivoInvalidado = true; } return interessado;