예제 #1
0
        public DTOMinhaPagina ObterMinhaPagina(int idUsuario)
        {
            var resultado = new DTOMinhaPagina();

            if (idUsuario <= 0)
            {
                return(resultado);
            }
            var historicoAcademicoServices = new HistoricoAcademicoServices();

            try
            {
                resultado.ListaHistoricoAcademico = historicoAcademicoServices.ConsultarHistorico(idUsuario);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                resultado.ListaHistoricoAcademico = new List <DTOItemHistoricoAcademico>();
            }
            try
            {
                resultado.ListaMinhasInscricoes = (new ConsultarMeusCursos()).ObterMeusCursos(idUsuario);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                resultado.ListaMinhasInscricoes = new List <DTOItemMeusCursos>();
            }
            try
            {
                resultado.ListaSistemasExternos =
                    (List <DTOSistemaExterno>) new SistemaExternoServices().ObterTodosPorUsuario(idUsuario);
            }
            catch (Exception ex)
            {
                resultado.ListaSistemasExternos = new List <DTOSistemaExterno>();
            }
            resultado.DadosAgenda = ObterAgenda(idUsuario, DateTime.Now.Month, DateTime.Now.Year);

            return(resultado);
        }
예제 #2
0
        public void EmitirCertificado(MatriculaOferta matriculaOferta)
        {
            if (matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.ID != (int)enumFornecedor.FGVOCW)
            {
                CertificadoTemplate cf = CertificadoTemplateUtil.ConsultarCertificado(0, matriculaOferta.ID, 0);
                DataTable           dt = CertificadoTemplateUtil.GerarDataTableComCertificado(0, matriculaOferta.ID, 0, cf);

                string caminhoReport = string.Empty;
                if (string.IsNullOrWhiteSpace(cf.Imagem2) && string.IsNullOrWhiteSpace(cf.TextoCertificado2))
                {
                    caminhoReport = "EmitirCertificado.rptCertificadoTemplate.rdlc";
                }
                else
                {
                    caminhoReport = "EmitirCertificado.rptCertificadoTemplate2paginas.rdlc";
                }

                string   binPath  = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "bin");
                Assembly assembly = Assembly.LoadFrom(binPath + "\\Sebrae.Academico.Reports.dll");
                Stream   stream   = assembly.GetManifestResourceStream("Sebrae.Academico.Reports." + caminhoReport);


                ReportViewer rv = new ReportViewer();
                rv.LocalReport.LoadReportDefinition(stream);
                rv.LocalReport.DataSources.Clear();
                rv.LocalReport.DataSources.Add(new ReportDataSource("dsCertificadoTemplate", dt));

                var fileBytes = rv.LocalReport.Render("PDF");

                System.Web.HttpContext context = System.Web.HttpContext.Current;
                context.Response.Clear();
                context.Response.ClearHeaders();
                context.Response.ClearContent();
                context.Response.AppendHeader("content-length", fileBytes.Length.ToString());
                context.Response.ContentType = "application/pdf";
                context.Response.AppendHeader("content-disposition", "attachment; filename=Certificado.pdf");
                context.Response.BinaryWrite(fileBytes);

                context.ApplicationInstance.CompleteRequest();
            }
            else
            {
                var link = new HistoricoAcademicoServices().ConsultarHistorico(matriculaOferta.Usuario.ID).FirstOrDefault(x => x.IdMatricula == matriculaOferta.ID);

                if (link != null && !string.IsNullOrEmpty(link.LKCertificado))
                {
                    try
                    {
                        HttpWebRequest myReq   = (HttpWebRequest)WebRequest.Create(link.LKCertificado);
                        WebResponse    myResp  = myReq.GetResponse();
                        HttpContext    context = HttpContext.Current;

                        byte[] b = null;
                        using (Stream stream = myResp.GetResponseStream())
                            using (MemoryStream ms = new MemoryStream())
                            {
                                int count = 0;
                                do
                                {
                                    byte[] buf = new byte[1024];
                                    count = stream.Read(buf, 0, 1024);
                                    ms.Write(buf, 0, count);
                                } while (stream.CanRead && count > 0);
                                b = ms.ToArray();

                                context.Response.ContentType = "application/pdf";
                                context.Response.AppendHeader("content-disposition", "attachment; filename=Certificado.pdf");
                                context.Response.BinaryWrite(ms.ToArray());
                                context.Response.Flush();
                            }
                    }
                    catch
                    {
                        WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Erro ao Baixar Certificado do Servidor Remoto FGV");
                    }
                }
                else
                {
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Certificado do OCW não encontrado");
                }
            }
        }