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); }
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"); } } }