Exemplo n.º 1
0
        /// <summary>
        /// Executa o download do arquivo
        /// </summary>
        /// <param name="sender">Objeto que disparou esse evento</param>
        /// <param name="e">Contém os argumentos fornecidos nesse evento</param>
        protected void BtnPropriedadeDownload_Click(object sender, EventArgs e)
        {
            this.DivMensagem.Visible             = true;
            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO;

            try
            {
                int    idArquivo = Convert.ToInt32(((LinkButton)sender).CommandArgument);
                string link      = GerenciamentoArquivo.ObtemLinkParaDownload(new List <int>()
                {
                    idArquivo
                });

                this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO;
                this.LblMensagem.Text = MENSAGEM_SUCESSO_DOWNLOAD;

                Response.Redirect(link, false);
            }
            catch (Exception ex)
            {
                Log.Info(ex.InnerException == null ? ex.Message : ex.InnerException.ToString());
                this.LblMensagem.Text = MENSAGEM_ERRO_DOWNLOAD;
                return;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Realiza o donwload do arquivo selecionado nas propriedades
        /// </summary>
        /// <param name="sender">Objeto que disparou esse evento</param>
        /// <param name="e">Contém os argumentos fornecidos nesse evento</param>
        protected void BtnPropriedadeDownloadArquivo_Click(object sender, EventArgs e)
        {
            try
            {
                string        argumento  = ((LinkButton)sender).CommandArgument;
                List <string> arquivos   = argumento.Split(',').ToList();
                List <int>    idArquivos = new List <int>();
                string        link;

                foreach (string arquivo in arquivos)
                {
                    idArquivos.Add(Convert.ToInt32(arquivo));
                }

                link = GerenciamentoArquivo.ObtemLinkParaDownload(idArquivos);

                this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO;
                this.LblMensagem.Text = MENSAGEM_SUCESSO_DOWNLOAD;

                Response.Redirect(link, false);
            }
            catch (Exception ex)
            {
                Log.Info(ex.InnerException == null ? ex.Message : ex.InnerException.ToString());
                this.LblMensagem.Text = MENSAGEM_ERRO_DOWNLOAD;
                return;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Realiza o download dos arquivos selecionados
        /// </summary>
        /// <param name="sender">Objeto que disparou esse evento</param>
        /// <param name="e">Contém os argumentos fornecidos nesse evento</param>
        protected void BtnDownload_Click(object sender, EventArgs e)
        {
            List <int> arquivosSelecionados = (List <int>) this.ObtemArquivosSelecionados();
            string     link;

            this.DivMensagem.Visible             = true;
            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO;

            if (arquivosSelecionados == null || arquivosSelecionados.Count <= 0)
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_NENHUM_ARQUIVO_SELECIONADO;
                return;
            }

            try
            {
                link = GerenciamentoArquivo.ObtemLinkParaDownload(arquivosSelecionados);

                this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO;
                this.LblMensagem.Text = MENSAGEM_SUCESSO_DOWNLOAD;

                Response.Redirect(link, false);
            }
            catch (Exception ex)
            {
                Log.Info(ex.InnerException == null ? ex.Message : ex.InnerException.ToString());
                this.LblMensagem.Text = MENSAGEM_ERRO_DOWNLOAD;
                return;
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Solicita a assinatura dos arquivos selecionados
        /// </summary>
        /// <param name="sender">Objeto que disparou esse evento</param>
        /// <param name="e">Contém os argumentos fornecidos nesse evento</param>
        protected void BtnSolicitarAssinatura_Click(object sender, EventArgs e)
        {
            AssinaturaSped assinatura;
            List <int>     arquivosRejeitados;
            List <int>     arquivosSelecionados = (List <int>) this.ObtemArquivosSelecionados();

            this.DivMensagem.Visible             = true;
            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO;

            if (arquivosSelecionados.Count <= 0)
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_NENHUM_ARQUIVO_SELECIONADO;
                return;
            }

            if (!this.FuCertificadoDigital.HasFile || string.IsNullOrEmpty(this.TxtSenhaCertificadoDigital.Text))
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_CERTIFICADO_DIGITAL;
                return;
            }

            try
            {
                assinatura = new AssinaturaSped()
                {
                    Speds            = arquivosSelecionados,
                    Certificado      = GerenciamentoArquivo.ObtemChaveCertificadoDigital(this.FuCertificadoDigital.FileBytes),
                    SenhaCertificado = this.TxtSenhaCertificadoDigital.Text
                };

                arquivosRejeitados = (List <int>)GerenciamentoArquivo.AssinaSped(assinatura);

                if (arquivosRejeitados.Count <= 0)
                {
                    this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO;
                    this.LblMensagem.Text = MENSAGEM_SUCESSO_ASSINATURA;
                }
                else
                {
                    string arquivos = string.Empty;

                    foreach (int arquivo in arquivosRejeitados)
                    {
                        arquivos += string.IsNullOrEmpty(arquivos) ? arquivo.ToString() : ", " + arquivo.ToString();
                    }

                    this.LblMensagem.Text = string.Format(MENSAGEM_ERRO_ASSINATURA_ARQUIVO_REJEITADO, arquivos);
                }
            }
            catch (Exception ex)
            {
                Log.Info(ex.InnerException == null ? ex.Message : ex.InnerException.ToString());
                this.LblMensagem.Text = MENSAGEM_ERRO_ASSINATURA;
                return;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Define os valores de cada controle de propriedades de arquivo para exibição
        /// </summary>
        /// <param name="propriedade">Propriedades do arquivo</param>
        private void DefineControlePropriedades(PropriedadeObjeto propriedade)
        {
            List <UsuarioApi>  usuarios = (List <UsuarioApi>)GerenciamentoUsuario.CarregaUsuariosApi();
            UsuarioApi         usuario  = usuarios.Exists(u => u.Id == propriedade.IdUsuarioUpload) ? usuarios.First(u => u.Id == propriedade.IdUsuarioUpload) : null;
            List <AcaoArquivo> arquivos = new List <AcaoArquivo>();

            GerenciamentoArquivo.ExtraiDocumentosObjeto(propriedade, ref arquivos);

            this.TxtPropriedadeNomeArquivo.Text        = propriedade.NomeOriginal;
            this.TxtPropriedadeCompetenciaInicial.Text = propriedade.DetalheSped.CompetenciaInicial.HasValue ? propriedade.DetalheSped.CompetenciaInicial.Value.ToString("dd/MM/yyyy") : string.Empty;
            this.TxtPropriedadeCompetenciaFinal.Text   = propriedade.DetalheSped.CompetenciaFinal.HasValue ? propriedade.DetalheSped.CompetenciaFinal.Value.ToString("dd/MM/yyyy") : string.Empty;
            this.TxtPropriedadeTipoEscrituracao.Text   = Dominio.ValorTextoDe(propriedade.DetalheSped.TipoEscrituracao);
            this.TxtPropriedadeFinalidade.Text         = propriedade.DetalheSped.FinalidadeArquivo.HasValue ?
                                                         (byte)propriedade.DetalheSped.FinalidadeArquivo + " - " + Dominio.ValorTextoDe(propriedade.DetalheSped.FinalidadeArquivo) : string.Empty;
            this.TxtPropriedadeParticipanteCnpj.Text = Util.FormataCnpj(propriedade.DetalheSped.EntidadeCnpj);
            this.TxtPropriedadeParticipanteInscricaoEstadual.Text = propriedade.DetalheSped.EntidadeIe;
            this.TxtPropriedadeParticipanteRazaoSocial.Text       = propriedade.DetalheSped.EntidadeRazaoSocial;
            this.TxtPropriedadeOrigem.Text       = usuario != null ? usuario.Nome : USUARIO_NAO_ENCONTRADO;
            this.TxtPropriedadeDataRecepcao.Text = propriedade.DataUpload.ToString("dd/MM/yyyy HH:mm");

            if (propriedade.DetalheSped.DataProcessamentoPva.HasValue)
            {
                this.TxtPropriedadeArquivoValidado.Text        = Dominio.ValorTextoDe(propriedade.DetalheSped.StatusPva);
                this.TxtPropriedadeArquivoValidado.Visible     = true;
                this.TxtPropriedadeDataArquivoValidado.Text    = propriedade.DetalheSped.DataProcessamentoPva.Value.ToString("dd/MM/yyyy HH:mm");
                this.TxtPropriedadeDataArquivoValidado.Visible = true;
            }

            if (propriedade.DetalheSped.DataAssinatura.HasValue)
            {
                this.TxtPropriedadeArquivoAssinadoSucesso.Visible     = true;
                this.TxtPropriedadeDataArquivoAssinadoSucesso.Text    = propriedade.DetalheSped.DataAssinatura.Value.ToString("dd/MM/yyyy HH:mm");
                this.TxtPropriedadeDataArquivoAssinadoSucesso.Visible = true;
            }

            if (propriedade.DetalheSped.DataTransmissaoSefaz.HasValue)
            {
                this.TxtPropriedadeArquivoTransmitidoSucesso.Visible     = true;
                this.TxtPropriedadeDataArquivoTransmitidoSucesso.Text    = propriedade.DetalheSped.DataTransmissaoSefaz.Value.ToString("dd/MM/yyyy");
                this.TxtPropriedadeDataArquivoTransmitidoSucesso.Visible = true;
            }

            /*
             * this.LblPropriedadeArquivoConciliadoIndiciosErro.Text = propriedade.DetalheSped;
             * this.LblPropriedadeDataArquivoConciliadoIndiciosErro.Text = propriedade.DetalheSped..ToString("dd/MM/yyyy");
             */

            ////this.LblPropriedadeUsuarioUltimoAcesso = ;
            ////this.LblPropriedadeDataUltimoAcesso = ;

            this.RptArquivo.DataSource = arquivos.OrderBy(a => a.DataExecucao);
            this.RptArquivo.DataBind();
        }
Exemplo n.º 6
0
        /// <summary>
        /// Realiza a consulta dos arquivos selecionados junto a secretaria da fazenda
        /// </summary>
        /// <param name="sender">Objeto que disparou esse evento</param>
        /// <param name="e">Contém os argumentos fornecidos nesse evento</param>
        protected void BtnConsultarSefaz_Click(object sender, EventArgs e)
        {
            List <int> arquivosSelecionados = (List <int>) this.ObtemArquivosSelecionados();
            List <int> arquivosComProblema;

            this.DivMensagem.Visible             = true;
            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO;

            if (arquivosSelecionados.Count <= 0)
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_NENHUM_ARQUIVO_SELECIONADO;
                return;
            }

            try
            {
                arquivosComProblema = (List <int>)GerenciamentoArquivo.ConsultaSefaz(arquivosSelecionados);

                if (arquivosComProblema.Count <= 0)
                {
                    this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO;
                    this.LblMensagem.Text = MENSAGEM_SUCESSO_CONSULTA_SEFAZ;
                }
                else
                {
                    string arquivos = string.Empty;

                    foreach (int arquivo in arquivosComProblema)
                    {
                        arquivos += string.IsNullOrEmpty(arquivos) ? arquivo.ToString() : "," + arquivo.ToString();
                    }

                    this.LblMensagem.Text = string.Format(MENSAGEM_ERRO_CONSULTA_SEFAZ_ARQUIVO_PROBLEMA, arquivos);
                }
            }
            catch (Exception ex)
            {
                Log.Info(ex.InnerException == null ? ex.Message : ex.InnerException.ToString());
                this.LblMensagem.Text = MENSAGEM_ERRO_CONSULTA_SEFAZ;
                return;
            }
        }
Exemplo n.º 7
0
        /// <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;
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// Obtem as propriedades do objeto e exibe
        /// </summary>
        /// <param name="idObjeto">Identificador do objeto</param>
        private void ObtemPropriedadesObjeto(int idObjeto)
        {
            PropriedadeObjeto propriedade;

            try
            {
                propriedade = GerenciamentoArquivo.ObtemPropriedadesObjeto(idObjeto);

                this.DefineControlePropriedades(propriedade);

                ScriptManager.RegisterStartupScript(this, this.GetType(), "Propriedades", "openModal();", true);
            }
            catch (Exception ex)
            {
                Log.Info(ex.InnerException == null ? ex.Message : ex.InnerException.ToString());
                this.DivMensagem.Visible             = true;
                this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO;
                this.LblMensagem.Text = MENSAGEM_ERRO_OBTER_PROPRIEDADES;
                return;
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// Realiza o upload do arquivo selecionado
        /// </summary>
        private void ProcessaUpload()
        {
            Parametro parametroUpload;
            string    enderecoCompleto;
            string    nomeArquivo;

            try
            {
                nomeArquivo = this.FuArquivo.FileName;

                enderecoCompleto = GerenciamentoArquivo.ObtemEnderecoArquivo(this.usuario.Id.Value, nomeArquivo);

                parametroUpload = GerenciamentoArquivo.ObtemParametrosUpload(enderecoCompleto.Split('\\').Last());

                if (parametroUpload != null && !string.IsNullOrEmpty(parametroUpload.Valor))
                {
                    this.FuArquivo.SaveAs(enderecoCompleto);

                    GerenciamentoArquivo.ExecutaUploadApi(parametroUpload.Valor, enderecoCompleto);

                    GerenciamentoArquivo.InformaUploadConcluido(parametroUpload.Id.Value);

                    this.DivMensagemUpload.Visible             = true;
                    this.DivMensagemUpload.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO;
                    this.LblMensagemUpload.Text = MENSAGEM_SUCESSO_UPLOAD;
                }
                else
                {
                    throw new Exception();
                }
            }
            catch (Exception e)
            {
                this.DivMensagemUpload.Visible             = true;
                this.DivMensagemUpload.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO;
                this.LblMensagemUpload.Text = MENSAGEM_ERRO_UPLOAD;
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// Define os valores de cada controle de propriedades de arquivo para exibição
        /// </summary>
        /// <param name="propriedade">Propriedades do arquivo</param>
        private void DefineControlePropriedades(PropriedadeObjeto propriedade)
        {
            List <UsuarioApi> usuarios            = (List <UsuarioApi>)GerenciamentoUsuario.CarregaUsuariosApi();
            string            linkDownloadArquivo = GerenciamentoArquivo.ObtemLinkParaDownload(new List <int>()
            {
                propriedade.IdArquivo
            });

            UsuarioApi usuario = usuarios.Exists(u => u.Id == propriedade.IdUsuarioUpload) ? usuarios.First(u => u.Id == propriedade.IdUsuarioUpload) : null;

            this.TxtPropriedadeChaveAcesso.Text     = propriedade.DetalheDfe.Chave;
            this.TxtPropriedadeTipoDocumento.Text   = Dominio.ValorTextoDe(propriedade.TipoArquivo);
            this.TxtPropriedadeNumeroDocumento.Text = propriedade.DetalheDfe.Numero.ToString();
            this.TxtPropriedadeDataEmissao.Text     = propriedade.DetalheDfe.DataEmissao.Value.ToString("dd/MM/yyyy");

            this.TxtPropriedadeEmissorCnpj.Text = Util.FormataCnpj(propriedade.DetalheDfe.EmitenteCnpj);
            this.TxtPropriedadeEmissorInscricaoEstadual.Text = propriedade.DetalheDfe.EmitenteIe;
            this.TxtPropriedadeEmissorRazaoSocial.Text       = propriedade.DetalheDfe.EmitenteRazaoSocial;

            this.TxtPropriedadeDestinatarioCnpj.Text = Util.FormataCnpj(propriedade.DetalheDfe.DestinatarioCnpj);
            this.TxtPropriedadeDestinatarioInscricaoEstadual.Text = propriedade.DetalheDfe.DestinatarioIe;
            this.TxtPropriedadeDestinatarioRazaoSocial.Text       = propriedade.DetalheDfe.DestinatarioRazaoSocial;

            this.TxtPropriedadeOrigem.Text            = usuario != null ? usuario.Nome : USUARIO_NAO_ENCONTRADO;
            this.TxtPropriedadeDataRecepcao.Text      = propriedade.DataUpload.ToString("dd/MM/yyyy HH:mm");
            this.TxtPropriedadeSituacaoSefaz.Text     = propriedade.DetalheDfe.StatusSefaz;
            this.TxtPropriedadeDataSituacaoSefaz.Text = propriedade.DetalheDfe.DataStatusSefaz.HasValue ? propriedade.DetalheDfe.DataStatusSefaz.Value.ToString("dd/MM/yyyy HH:mm") : string.Empty;
            this.TxtPropriedadeIntegridadeArquivoProtocoloAutorizacao.Text     = (propriedade.DetalheDfe.EProtocoloPresente.HasValue && propriedade.DetalheDfe.EProtocoloPresente.Value) ? TEXTO_COM_PROTOCOLO_AUTORIZACAO : TEXTO_SEM_PROTOCOLO_AUTORIZACAO;
            this.TxtPropriedadeIntegridadeArquivoAssinaturaDigital.Text        = (propriedade.DetalheDfe.EAssinaturaValida.HasValue && propriedade.DetalheDfe.EAssinaturaValida.Value) ? TEXTO_ASSINATURA_DIGITAL_VALIDA : TEXTO_ASSINATURA_DIGITAL_INVALIDA;
            this.TxtPropriedadeDataIntegridadeArquivoAssinaturaDigital.Text    = propriedade.DetalheDfe.DataStatusSefaz.HasValue ? propriedade.DetalheDfe.DataStatusSefaz.Value.ToString("dd/MM/yyyy HH:mm") : string.Empty;
            this.TxtPropriedadeDataIntegridadeArquivoProtocoloAutorizacao.Text = propriedade.DetalheDfe.DataStatusSefaz.HasValue ? propriedade.DetalheDfe.DataStatusSefaz.Value.ToString("dd/MM/yyyy HH:mm") : string.Empty;
            ////TxtPropriedadeDataManifestacaoDestinatario.Text = ;
            ////TxtPropriedadeUsuarioUltimoAcesso.Text = ;
            ////TxtPropriedadeDataUltimoAcesso.Text = ;

            this.BtnPropriedadeDownload.CommandArgument = propriedade.IdArquivo.ToString();
        }