//método para retornar a consulta de Proprietario para o Angular.. public JsonResult ConsultarProprietarios() { try { //declarar uma lista da classe ProprietarioConsultaViewModel.. List <ProprietarioConsultaViewModel> lista = new List <ProprietarioConsultaViewModel>(); //varrer cada proprietario obtido do banco de dados ProprietarioRepository rep = new ProprietarioRepository(); foreach (Proprietario p in rep.FindAll()) { ProprietarioConsultaViewModel model = new ProprietarioConsultaViewModel(); model.IdProprietario = p.IdProprietario; model.Nome = p.Nome; model.Cnpj = p.Cnpj; lista.Add(model); //adicionando na lista.. } //retornando a lista return(Json(lista, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(e.Message, JsonRequestBehavior.AllowGet)); } }
//método para retornar o relatorio de Proprietarios.. public void Relatorio() { //criando o conteudo do relatorio.. StringBuilder conteudo = new StringBuilder(); conteudo.Append("<h1 class='titulo'>Relatório de empresas</h1>"); conteudo.Append($"<p>Relatório gerado em: {DateTime.Now} </p>"); conteudo.Append("<br/>"); conteudo.Append("<table>"); conteudo.Append("<tr>"); conteudo.Append("<th>Código da empresa</th>"); conteudo.Append("<th>Nome</th>"); conteudo.Append("<th>Cnpj </th>"); conteudo.Append("</tr>"); ProprietarioRepository rep = new ProprietarioRepository(); foreach (Proprietario p in rep.FindAll()) { conteudo.Append("<tr>"); conteudo.Append($"<td>{p.IdProprietario}</td>"); conteudo.Append($"<td>{p.Nome}</td>"); conteudo.Append($"<td>{p.Cnpj}</td>"); conteudo.Append("</tr>"); } conteudo.Append("</table>"); //buscando o arquivo CSS.. var css = Server.MapPath("/css/relatorio.css"); //transformando o conteudo em arquivo PDF.. ReportsUtil util = new ReportsUtil(); byte[] pdf = util.GetPDF(conteudo.ToString(), css); //Download.. Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment; filename=relatorio.pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.BinaryWrite(pdf); Response.End(); }