public ActionResult Index(string reportId, string returnUrl, bool nuevo)
        {
            var service     = new DocumentosUsuarioService(MarfilEntities.ConnectToSqlServer(ContextService.BaseDatos));
            var userService = FService.Instance.GetService(typeof(UsuariosModel), ContextService) as UsuariosService;

            TipoDocumentoImpresion tipoDocumento;
            Guid   usuario;
            string name;

            DocumentosUsuarioService.GetFromCustomId(reportId, out tipoDocumento, out usuario, out name);
            ViewBag.Tipo    = (int)tipoDocumento;
            ViewBag.Usuario = usuario.ToString();
            var usuarioObj     = usuario == Guid.Empty ? "Admin" : ((UsuariosModel)userService.get(usuario.ToString())).Usuario;
            var documentoModel = service.GetDocumento(tipoDocumento, usuario, name);

            return(View(new DesignModel
            {
                Nuevo = nuevo,
                Tiporeport = documentoModel?.Tiporeport ?? TipoReport.Report,
                Tipodocumento = tipoDocumento,
                Tipoprivacidad = documentoModel?.Tipoprivacidad ?? TipoPrivacidadDocumento.Publico,
                UsuarioId = usuario,
                Usuarionombre = usuarioObj,
                ReturnUrl = returnUrl,
                Url = reportId,
                Report = documentoModel?.Datos,
                DataSource = FDocumentosDatasourceReport.CreateReport(tipoDocumento, ContextService).DataSource,
                Name = name
            }));
        }
Exemple #2
0
        public override byte[] GetData(string url)
        {
            _user    = GetCustomPrincipal();
            _service = new DocumentosUsuarioService(MarfilEntities.ConnectToSqlServer(_user.BaseDatos));
            // Get the report data from the storage.
            TipoDocumentoImpresion TipoDocumentoImpresion;
            Guid   usuario;
            string name;

            DocumentosUsuarioService.GetFromCustomId(url, out TipoDocumentoImpresion, out usuario, out name);
            var obj = _service.GetDocumento(TipoDocumentoImpresion, usuario, name);

            return(obj.Datos);
        }
Exemple #3
0
        private byte[] UrlFile(FicherosEmailModel item)
        {
            var mierror = "";
            var result  = new  byte[0];

            try
            {
                using (var service = new DocumentosUsuarioService(MarfilEntities.ConnectToSqlServer(ContextService.BaseDatos)))
                {
                    var vector                 = item.Url.Split(';');
                    var primarykey             = vector[0];
                    var TipoDocumentoImpresion = (TipoDocumentoImpresion)Enum.Parse(typeof(TipoDocumentoImpresion), vector[1]);
                    var reportId               = vector[2];
                    var model = new DesignModel
                    {
                        Url        = reportId,
                        Report     = service.GetDocumento(TipoDocumentoImpresion, ContextService.Id, reportId)?.Datos,
                        DataSource = FDocumentosDatasourceReport.CreateReport(TipoDocumentoImpresion, ContextService, primarykey).DataSource,
                        Name       = string.Format("{0}", item.Nombre)
                    };

                    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);
                            result = stream.GetBuffer();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                mierror = ex.Message;
            }

            return(result);
        }
        public ActionResult Export(string id)
        {
            var service = new DocumentosUsuarioService(MarfilEntities.ConnectToSqlServer(ContextService.BaseDatos));
            TipoDocumentoImpresion tipoDocumento;
            Guid   usuario;
            string name;

            DocumentosUsuarioService.GetFromCustomId(id, out tipoDocumento, out usuario, out name);
            var model    = service.GetDocumento(tipoDocumento, usuario, name);
            var document = model.Datos;
            var cd       = new System.Net.Mime.ContentDisposition
            {
                // for example foo.bak
                FileName = string.Format("{0}.repx", model.Nombre),

                // always prompt the user for downloading, set to true if you want
                // the browser to try to show the file inline
                Inline = false,
            };

            Response.AppendHeader("Content-Disposition", cd.ToString());
            return(File(document, "rpt"));
        }