Exemplo n.º 1
0
        public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport()
        {
            RelReceita rpt = new RelReceita();

            rpt.Site = this.Site;
            return(rpt);
        }
 public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport()
 {
     RelReceita rpt = new RelReceita();
     rpt.Site = this.Site;
     return rpt;
 }
        public ActionResult GerarBuscaRelatorioReceita(FormCollection fomulario)
        {
            try
            {
                DateTime DataIncio = DateTime.MinValue;
                DateTime DataFim = DateTime.MinValue;
                Usuario u = (Usuario)Session["usuario"];

                if (!Request["DataIncio"].ToString().Equals(string.Empty))
                {
                    try
                    {
                        DataIncio = Convert.ToDateTime(Request["DataIncio"].ToString());
                    }
                    catch
                    {
                        ViewBag.Mensagem = "Data Inicio Invalida! ";
                    }

                }

                if (!Request["DataFim"].ToString().Equals(string.Empty))
                {
                    try
                    {
                        DataFim = Convert.ToDateTime(Request["DataFim"].ToString());
                    }
                    catch
                    {
                        ViewBag.Mensagem = "Data Final Invalida! ";
                    }
                }

                if (DataIncio > DataFim)
                {
                    throw new Exception("A Data de Incio não pode ser menor que a data Final.");
                }

                string formato = Request["formato"].ToString();

                ReceitaDal d = new ReceitaDal();
                List<Receita> Lista = d.FindByRelatorio(DataIncio, DataFim, u.IdUsuario);
                DataSetReceita ds = new DataSetReceita();
                DataTable dt = ds.RECEITA;

                foreach (Receita r in Lista)
                {
                    DataRow registro = dt.NewRow();
                    registro["CODIGO"] = r.IdReceita;
                    registro["NOME"] = r.Nome;
                    registro["DATARECEBIMENTO"] = r.DataRecebimento;
                    registro["VALOR"] = r.Valor;

                    dt.Rows.Add(registro);
                }

                RelReceita rel = new RelReceita();

                rel.SetDataSource(dt);

                Stream arquivo = null;

                switch (formato)
                {
                    case "1": //PDF
                        arquivo = rel.ExportToStream(ExportFormatType.PortableDocFormat);
                        return File(arquivo, "application/pdf", "relatorio.pdf");

                    case "2": //Word
                        arquivo = rel.ExportToStream(ExportFormatType.WordForWindows);
                        return File(arquivo, "application/msword", "relatorio");

                    case "3": //Excel
                        arquivo = rel.ExportToStream(ExportFormatType.Excel);
                        return File(arquivo, "application/excel", "relatorio");
                }
            }
            catch(Exception e)
            {

                ViewBag.Mensagem = e.Message;
            }

            return View("BuscaReceita");
        }