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