/// <summary> /// Executa a busca de arquivos, baseado nos filtros preenchidos /// </summary> /// <param name="pagina">Número da página que conterá os resultados da busca</param> private void ExecutaBusca(int pagina = 1) { FiltroBuscaSped filtro = this.ViewState[ConstantesGlobais.FILTRO_BUSCA] != null ? (FiltroBuscaSped)this.ViewState[ConstantesGlobais.FILTRO_BUSCA] : new FiltroBuscaSped(); int inicio = ((pagina - 1) * RESULTADOS_POR_PAGINA) + 1; ResultadoBuscaSped resultado = GerenciamentoArquivo.BuscaArquivosSped(filtro, inicio, RESULTADOS_POR_PAGINA); List <ArquivoSped> arquivos = (resultado != null && resultado.Resultados != null) ? (List <ArquivoSped>)resultado.Resultados : new List <ArquivoSped>(); List <int> paginas = new List <int>(); if (arquivos.Count > 0) { int quantidadePaginas = (int)Math.Ceiling((double)resultado.Quantidade / (double)RESULTADOS_POR_PAGINA); for (int i = 1; i <= quantidadePaginas; i++) { paginas.Add(i); } this.DivAcoes.Visible = true; this.pagina = 0; this.RptResultadoBusca.Visible = true; this.RptResultadoBusca.DataSource = arquivos; ////OrderByDescending(a => a.Competencia).ToList(); this.RptResultadoBusca.DataBind(); this.RptPaginacao.Visible = quantidadePaginas > 1; this.RptPaginacao.DataSource = paginas; this.RptPaginacao.DataBind(); } else { this.DivMensagem.Visible = true; this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO; this.LblMensagem.Text = MENSAGEM_ERRO_BUSCA_NENHUM_RESULTADO; this.DivAcoes.Visible = false; this.RptResultadoBusca.Visible = false; this.RptPaginacao.Visible = false; return; } }
/// <summary> /// Obtem os valores digitados nos campos da pesquisa e monta um objeto FiltroBusca /// </summary> /// <returns>Objeto filtro da busca</returns> private FiltroBuscaSped MontaFiltroBuscaSimples() { FiltroBuscaSped filtro = new FiltroBuscaSped(); var recepcionado = Util.MontaDataIntervaloOpcao(this.DdRecepcionado.SelectedValue); filtro.TextoLivre = this.TxtBusca.Text; filtro.Entidade = new Participante() { Cnpj = Util.ObtemSomenteDigitos(this.TxtCnpj.Text), Ie = Util.ObtemSomenteDigitos(this.TxtInscricaoEstadual.Text) }; foreach (ListItem item in this.CblTipoEscrituracao.Items.Cast <ListItem>().Where(li => li.Selected)) { if (filtro.TipoEscrituracao == null) { filtro.TipoEscrituracao = new List <TipoEscrituracao>(); } filtro.TipoEscrituracao.Add((TipoEscrituracao)Convert.ToByte(item.Value)); } foreach (ListItem item in this.CblSituacaoArquivo.Items.Cast <ListItem>().Where(li => li.Selected)) { if (filtro.StatusPva == null) { filtro.StatusPva = new List <StatusPva>(); } filtro.StatusPva.Add((StatusPva)Convert.ToByte(item.Value)); } filtro.Recepcionado = recepcionado != null ? (DataIntervalo)recepcionado : null; this.ViewState[ConstantesGlobais.FILTRO_BUSCA] = filtro; return(filtro); }
/// <summary> /// Realiza a busca de arquivos SPED na API, dados os filtros escolhidos pelo usuário /// </summary> /// <param name="filtro">Objeto filtro com todos os critérios da pesquisa</param> /// <param name="inicio">Índice do primeiro registro a ser retornado</param> /// <param name="quantidade">Quantidade máxima de registros que deverá retornar</param> /// <returns>Lista de arquivos encontrados</returns> public static ResultadoBuscaSped BuscaArquivosSped(FiltroBuscaSped filtro, int inicio, int quantidade) { string json = AuxiliarJson.Posta(filtro, EnderecosApi.BuscaSped + "/" + inicio + "/" + quantidade); return((ResultadoBuscaSped)AuxiliarJson.Desserializa <ResultadoBuscaSped>(json)); }
/// <summary> /// Obtem os valores digitados nos campos da pesquisa e monta um objeto FiltroBusca /// </summary> /// <returns>Objeto filtro da busca</returns> private FiltroBuscaSped MontaFiltroBuscaAvancada() { FiltroBuscaSped filtro = new FiltroBuscaSped(); var competencia = Util.MontaDataIntervalo(this.TxtCompetenciaInicio.Text, this.TxtCompetenciaFim.Text); var periodoEntrega = Util.MontaDataIntervalo(this.TxtPeriodoEntregaInicio.Text, this.TxtPeriodoEntregaFim.Text); var dataRecepcionado = Util.MontaDataIntervalo(this.TxtDataRecepcionadoInicio.Text, this.TxtDataRecepcionadoFim.Text); var dataValidado = Util.MontaDataIntervalo(this.TxtDataValidadoInicio.Text, this.TxtDataValidadoFim.Text); var dataConciliado = Util.MontaDataIntervalo(this.TxtDataConciliadoInicio.Text, this.TxtDataConciliadoFim.Text); var dataAssinado = Util.MontaDataIntervalo(this.TxtDataAssinadoInicio.Text, this.TxtDataAssinadoFim.Text); var dataTransmitido = Util.MontaDataIntervalo(this.TxtDataTransmitidoInicio.Text, this.TxtDataTransmitidoFim.Text); filtro.NomeArquivo = this.TxtNomeArquivo.Text; filtro.Competencia = competencia; ////filtro.DataEntrega; TODO: Implementar quando houver na API filtro.Recepcionado = dataRecepcionado; filtro.DataProcessamentoPva = dataValidado; ////filtro.DataConciliacao; TODO: Implementar quando houver na API filtro.DataAssinatura = dataAssinado; filtro.DataTransmissaoSefaz = dataTransmitido; foreach (ListItem item in this.CblTipoEscrituracaoAvancada.Items.Cast <ListItem>().Where(li => li.Selected)) { if (filtro.TipoEscrituracao == null) { filtro.TipoEscrituracao = new List <TipoEscrituracao>(); } filtro.TipoEscrituracao.Add((TipoEscrituracao)Convert.ToByte(item.Value)); } if (this.RblFinalidade.SelectedValue != null && !string.IsNullOrEmpty(this.RblFinalidade.SelectedValue)) { filtro.FinalidadeArquivo = (FinalidadeOperacaoSped)Convert.ToByte(this.RblFinalidade.SelectedValue); } filtro.Entidade = new Participante() { Cnpj = Util.ObtemSomenteDigitos(this.TxtTxtCnpjContribuinte.Text), Ie = Util.ObtemSomenteDigitos(this.TxtInscricaoEstadualContribuinte.Text), RazaoSocial = this.TxtRazaoSocialContribuinte.Text, Uf = this.DdUnidadeFederativaContribuinte.SelectedItem != null ? this.DdUnidadeFederativaContribuinte.SelectedItem.Text : null }; foreach (ListItem item in this.CblSituacaoAvancada.Items.Cast <ListItem>().Where(li => li.Selected)) { if (filtro.StatusPva == null) { filtro.StatusPva = new List <StatusPva>(); } filtro.StatusPva.Add((StatusPva)Convert.ToByte(item.Value)); } foreach (ListItem item in this.CblSituacaoSPED.Items.Cast <ListItem>().Where(li => li.Selected)) { if (filtro.StatusSped == null) { filtro.StatusSped = new List <StatusSped>(); } filtro.StatusSped.Add((StatusSped)Convert.ToByte(item.Value)); } ////filtro.TipoTransmissao this.ViewState[ConstantesGlobais.FILTRO_BUSCA] = filtro; return(filtro); }