コード例 #1
0
        public void ProcessRequest(HttpContext context)
        {
            string Identificador;

            if (context.Request.QueryString["Identificador"] == null)
            {
                context.Response.ContentType = "text/plain";
                context.Response.Write("Acesso negado!");
                return;
            }
            Identificador = context.Request.QueryString["Identificador"].ToString();
            if (!string.IsNullOrEmpty(Identificador))
            {
                context.Response.Clear();
                FileServer fs = new FileServer();
                fs.NomeDoArquivoNoServidor = Identificador;
                fs.MediaServer             = false;
                contentMediaServer         = manterFileServer.ObterFileServerPorFiltro(fs).FirstOrDefault();

                if (contentMediaServer != null)
                {
                    try
                    {
                        using (MemoryStream ms = new MemoryStream())
                        {
                            using (FileStream file = new FileStream(string.Concat(ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.RepositorioUpload).Registro, @"\", contentMediaServer.NomeDoArquivoNoServidor), FileMode.Open, FileAccess.Read))
                            {
                                byte[] bytes = new byte[file.Length];
                                file.Read(bytes, 0, (int)file.Length);
                                ms.Write(bytes, 0, (int)file.Length);
                            }

                            // Removendo caracteres especiais que travam no chrome.
                            contentMediaServer.NomeDoArquivoOriginal =
                                RemoverCaracterEspecial(contentMediaServer.NomeDoArquivoOriginal);
                            //context.Response.AddHeader("Content-Disposition", "attachment; filename=" + contentMediaServer.NomeDoArquivoOriginal);
                            context.Response.ContentType     = contentMediaServer.TipoArquivo;
                            context.Response.ContentEncoding = Encoding.UTF8;
                            context.Response.BinaryWrite(ms.ToArray());
                            context.Response.Flush();
                        }
                    }
                    catch (Exception ex)
                    {
                        context.Response.ContentType = "text/plain";
                        context.Response.Write("Erro filetype 1 - " + ex.ToString());
                        return;
                    }
                }
            }
        }
コード例 #2
0
        private void PreencherCertificado(MatriculaOferta itemHistorico, DTOItemHistoricoAcademico item, Usuario usuario)
        {
            if (itemHistorico.IsAprovado() && !itemHistorico.IsOuvinte())
            // Alunos com o status de Ouvinte não podem emitir certificados.
            {
                item.TemCertificado = itemHistorico.Oferta.CertificadoTemplate != null;
                item.CargaHoraria   = itemHistorico.Oferta.CargaHoraria.ToString();

                if (itemHistorico.Oferta.SolucaoEducacional.Fornecedor.ID == (int)enumFornecedor.FGVOCW)
                {
                    var nomeArquivoOriginal = "FGVOCW_" + itemHistorico.Usuario.CPF + "_" +
                                              itemHistorico.Oferta.IDChaveExterna + ".pdf";
                    var mFS        = new ManterFileServer();
                    var fileServer = mFS.ObterFileServerPorFiltro(new FileServer
                    {
                        NomeDoArquivoOriginal = nomeArquivoOriginal,
                        MediaServer           = true
                    }).FirstOrDefault();
                    item.TemCertificado = true;
                    if (fileServer != null)
                    {
                        item.LKCertificado =
                            Util.Classes.ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.EnderecoSGUS)
                            .Registro + "/MediaServer.ashx?Identificador=" + fileServer.ID;
                    }
                    else
                    {
                        item.LKCertificado = "http://www5.fgv.br/ucsebraeocw/CertificadoCursoGratuitoOnline.aspx?cpf=" +
                                             itemHistorico.Usuario.CPF + "&oferta=" +
                                             itemHistorico.Oferta.IDChaveExterna;
                    }
                }

                // Link de acesso ao curso - Somente se tiver sido aprovado
                if (itemHistorico.MatriculaTurma != null && itemHistorico.MatriculaTurma.FirstOrDefault() != null)
                {
                    var matTurma = itemHistorico.MatriculaTurma.FirstOrDefault();
                    if (matTurma.Turma.AcessoAposConclusao)
                    {
                        item.LKAcesso = string.IsNullOrEmpty(matTurma.MatriculaOferta.LinkAcesso)
                            ? (new ConsultarMeusCursos()).ConsultarLinkAcessoFornecedor(
                            matTurma.MatriculaOferta.Oferta.SolucaoEducacional.Fornecedor, usuario,
                            matTurma.MatriculaOferta.Oferta.CodigoMoodle.ToString())
                            : matTurma.MatriculaOferta.LinkAcesso;
                    }
                }
            }
        }
コード例 #3
0
        protected void btnPesquisar_Click(object sender, EventArgs e)
        {
            try
            {
                var mediaServer = ObterObjetoFileServer();
                manterFileServer = new ManterFileServer();
                var listaFileServer = manterFileServer.ObterFileServerPorFiltro(mediaServer, true);

                if (listaFileServer != null && listaFileServer.Count > 0)
                {
                    WebFormHelper.PreencherGrid(listaFileServer, this.dgvFileServer);
                    pnlFileServer.Visible = true;
                }
                else
                {
                    pnlFileServer.Visible = false;
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Alerta, "Nenhuma Informação Encontrada");
                }
            }
            catch (AcademicoException ex)
            {
                WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
            }
        }