コード例 #1
0
        public ActionResult Descargar(string tipo, string reportId, string primarykey)
        {
            var service = new DocumentosUsuarioService(MarfilEntities.ConnectToSqlServer(ContextService.BaseDatos));

            var    tipoDocumento = (TipoDocumentoImpresion)Enum.Parse(typeof(TipoDocumentoImpresion), tipo);
            Guid   usuario       = ContextService.Id;
            string name          = reportId;


            ViewBag.Tipo    = (int)tipoDocumento;
            ViewBag.Usuario = usuario.ToString();


            var model = new DesignModel
            {
                Url        = reportId,
                Report     = service.GetDocumentoParaImprimir(tipoDocumento, usuario, name)?.Datos,
                DataSource = FDocumentosDatasourceReport.CreateReport(tipoDocumento, ContextService, primarykey).DataSource,
                Name       = name
            };

            var report = new XtraReport();

            using (var ms = new MemoryStream(model.Report))
            {
                report.LoadLayout(ms);
                report.DataSource = model.DataSource;
                report.Name       = model.Name;
                using (var stream = new MemoryStream())
                {
                    report.ExportToPdf(stream);
                    return(File(stream.GetBuffer(), "application/pdf"));
                }
            }
        }
コード例 #2
0
        public ActionResult Visualizar(string tipo, string reportId, string primarykey)
        {
            var service = new DocumentosUsuarioService(MarfilEntities.ConnectToSqlServer(ContextService.BaseDatos));

            TipoDocumentoImpresion tipoDocumento = (TipoDocumentoImpresion)Enum.Parse(typeof(TipoDocumentoImpresion), tipo);
            Guid   usuario = ContextService.Id;
            string name    = reportId;

            Dictionary <string, object> dictionary = null;

            if (primarykey.IsValidJson())
            {
                dictionary = JsonConvert.DeserializeObject <Dictionary <string, object> >(primarykey);
            }

            ViewBag.Tipo    = (int)tipoDocumento;
            ViewBag.Usuario = usuario.ToString();
            var model = new DesignModel
            {
                Url        = reportId,
                Report     = service.GetDocumentoParaImprimir(tipoDocumento, usuario, name)?.Datos,
                DataSource = FDocumentosDatasourceReport.CreateReport(tipoDocumento, ContextService, primarykey).DataSource,
                Parameters = dictionary,
                Name       = name
            };

            Session["ReportViewer"] = model;
            return(View(model));
        }