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 ActionResult Delete(string id) { if (TempData["errors"] != null) { ModelState.AddModelError("", TempData["errors"].ToString()); } using (var db = MarfilEntities.ConnectToSqlServer(ContextService.BaseDatos)) using (var service = new DocumentosUsuarioService(db)) { TipoDocumentoImpresion tipoDocumento; Guid usuario; string name; DocumentosUsuarioService.GetFromCustomId(id, out tipoDocumento, out usuario, out name); ViewBag.TituloMantenimiento = string.Format(General.ConfiguradorDocumentos, Funciones.GetEnumByStringValueAttribute(tipoDocumento)); var model = new DocumentosDeleteModel() { CustomId = id, Nombre = name, Tipo = tipoDocumento, Titulo = string.Format(General.ConfiguradorDocumentos, Funciones.GetEnumByStringValueAttribute(tipoDocumento)), Toolbar = new ToolbarModel() { Titulo = string.Format(General.ConfiguradorDocumentos, Funciones.GetEnumByStringValueAttribute(tipoDocumento)), Operacion = TipoOperacion.Baja, Acciones = new IToolbaritem[] {} } }; return(View(model)); } }
public override Dictionary <string, string> GetUrls() { _user = GetCustomPrincipal(); _service = new DocumentosUsuarioService(MarfilEntities.ConnectToSqlServer(_user.BaseDatos)); // Get URLs and display names for all reports available in the storage. var result = new Dictionary <string, string>(); try { var reportId = HttpUtility.ParseQueryString(HttpContext.Current.Request.UrlReferrer.PathAndQuery).GetValues("reportId")[0]; TipoDocumentoImpresion TipoDocumentoImpresion; Guid usuario; string name; DocumentosUsuarioService.GetFromCustomId(reportId, out TipoDocumentoImpresion, out usuario, out name); var items = _service.GetDocumentos(TipoDocumentoImpresion, _user.Id); foreach (var item in items) { result.Add(item.CustomId, item.Nombre); } } catch (Exception ex) { string errores = ex.Message; } return(result); }
public JsonResult SaveReport() { //string usuario,string tipodocumento,string tiporeport,string tipoprivacidad,string nombre var jsonSerializer = new JavaScriptSerializer(); dynamic parametros = jsonSerializer.DeserializeObject(Request.Params["args"]); var reportByteVector = ReportDesignerExtension.GetReportXml("Reportdesigner"); var service = new DocumentosUsuarioService(MarfilEntities.ConnectToSqlServer(ContextService.BaseDatos)); var tipoDocumento = (TipoDocumentoImpresion)Enum.Parse(typeof(TipoDocumentoImpresion), parametros["tipodocumento"]); var tipoprivacidad = (TipoPrivacidadDocumento)Enum.Parse(typeof(TipoPrivacidadDocumento), parametros["tipoprivacidad"]); var tiporeport = (TipoReport)Enum.Parse(typeof(TipoReport), parametros["tiporeport"]); var defecto = Funciones.Qbool(parametros["defecto"]); // Write a report to the storage under the specified URL. using (var stream = new MemoryStream(reportByteVector)) { using (var streamReportToSave = new MemoryStream()) { var url = DocumentosUsuarioService.CreateCustomId(tipoDocumento, new Guid(parametros["usuario"]), parametros["nombre"]); var report = XtraReport.FromStream(stream, true); report.Name = url; report.DisplayName = parametros["nombre"]; report.SaveLayout(streamReportToSave); service.SetPreferencia(tipoDocumento, new Guid(parametros["usuario"]), tipoprivacidad, tiporeport, parametros["nombre"], streamReportToSave.ToArray(), defecto); } } return(Json(new { success = true, error = "none", Result = string.Format("{0}", DocumentosUsuarioService.CreateCustomId(tipoDocumento, new Guid(parametros["usuario"]), parametros["nombre"])) })); }
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")); } } }
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)); }
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); }
public override bool CanSetData(string url) { if (!_reportIdRegex.IsMatch(url)) { return(false); } _user = GetCustomPrincipal(); _service = new DocumentosUsuarioService(MarfilEntities.ConnectToSqlServer(_user.BaseDatos)); // Check if the URL is available in the report storage. TipoDocumentoImpresion tipoDocumentoImpresion; Guid usuario; string name; DocumentosUsuarioService.GetFromCustomId(url, out tipoDocumentoImpresion, out usuario, out name); return(_service.ExisteDocumento(tipoDocumentoImpresion, usuario, name)); }
public ActionResult Import() { var Tipodocumento = Request.Params["Tipodocumento"]; var Returnurl = Request.Params["Returnurl"]; if (Request.Files.Count > 0) { var file = Request.Files[0]; if (file != null && file.ContentLength > 0) { byte[] data; using (Stream inputStream = file.InputStream) { MemoryStream memoryStream = inputStream as MemoryStream; if (memoryStream == null) { memoryStream = new MemoryStream(); inputStream.CopyTo(memoryStream); } data = memoryStream.ToArray(); } var tipodocumento = (TipoDocumentoImpresion)Enum.Parse(typeof(TipoDocumentoImpresion), Tipodocumento); return(View("Index", new DesignModel { Nuevo = true, Tiporeport = TipoReport.Report, Tipodocumento = tipodocumento, Tipoprivacidad = TipoPrivacidadDocumento.Publico, UsuarioId = ContextService.Id, Usuarionombre = ContextService.Usuario, ReturnUrl = Returnurl, Url = DocumentosUsuarioService.CreateCustomId(tipodocumento, ContextService.Id, "Nuevo documento"), Report = data, DataSource = FDocumentosDatasourceReport.CreateReport(tipodocumento, ContextService).DataSource, Name = "Nuevo documento" })); } } return(Redirect(Returnurl)); }
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); }
// GET: Documentos public ActionResult Index(string id) { using (var db = MarfilEntities.ConnectToSqlServer(ContextService.BaseDatos)) using (var service = new DocumentosUsuarioService(db)) { var model = new DocumentosWrapperModel(); var tipoDocumento = (TipoDocumentoImpresion)Enum.Parse(typeof(TipoDocumentoImpresion), id); model.Titulo = string.Format(General.ConfiguradorDocumentos, Funciones.GetEnumByStringValueAttribute(tipoDocumento)); model.Tipo = tipoDocumento; model.Lineas = service.GetDocumentos(tipoDocumento, ContextService.Id); ((IToolbar)model).Toolbar = new ToolbarModel() { Titulo = model.Titulo, Operacion = TipoOperacion.Index, Acciones = IndexToolbar(tipoDocumento, ContextService.Id) }; Session[id] = model; return(View(model)); } }
public static DocumentosBotonImprimirModel GetListFormatos(TipoDocumentoImpresion tipo, string referencia) { var user = HttpContext.Current.User as ICustomPrincipal; using (var db = MarfilEntities.ConnectToSqlServer(user.BaseDatos)) { var servicePreferencias = new PreferenciasUsuarioService(db); var doc = servicePreferencias.GePreferencia(TiposPreferencias.DocumentoImpresionDefecto, user.Id, tipo.ToString(), "Defecto") as PreferenciaDocumentoImpresionDefecto; var service = new DocumentosUsuarioService(db); { var lst = service.GetDocumentos(tipo, user.Id) .Where(f => f.Tiporeport == TipoReport.Report); return(new DocumentosBotonImprimirModel() { Tipo = tipo, Lineas = lst.Select(f => f.Nombre), Primarykey = referencia, Defecto = doc?.Name }); } } }
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")); }
public override void SetData(XtraReport report, string url) { if (!_reportIdRegex.IsMatch(url)) { return; } _user = GetCustomPrincipal(); _service = new DocumentosUsuarioService(MarfilEntities.ConnectToSqlServer(_user.BaseDatos)); // Write a report to the storage under the specified URL. using (var stream = new MemoryStream()) { TipoDocumentoImpresion TipoDocumentoImpresion; Guid usuario; string name; DocumentosUsuarioService.GetFromCustomId(url, out TipoDocumentoImpresion, out usuario, out name); report.Name = url; report.DisplayName = name; report.SaveLayout(stream); //_service.SetPreferencia(TipoDocumentoImpresion, usuario, name, stream.ToArray()); } }
public override string SetNewData(XtraReport report, string defaultUrl) { if (_reportIdRegex.IsMatch(defaultUrl)) { throw new Exception("No se pude guardar el nuevo report"); } _user = GetCustomPrincipal(); _service = new DocumentosUsuarioService(MarfilEntities.ConnectToSqlServer(_user.BaseDatos)); using (var stream = new MemoryStream()) { var objTag = report.Name; var vector = objTag.Split(';'); var TipoDocumentoImpresion = (TipoDocumentoImpresion)Enum.Parse(typeof(TipoDocumentoImpresion), vector[1]); var usuario = new Guid(vector[0]); var idReport = DocumentosUsuarioService.CreateCustomId(TipoDocumentoImpresion, usuario, defaultUrl); report.Name = idReport; report.DisplayName = defaultUrl; report.SaveLayout(stream); //_service.SetPreferencia(TipoDocumentoImpresion, usuario, defaultUrl, stream.ToArray()); return(idReport); } }
//public DocumentosBotonImprimirModel GetListFormatos() //{ // var user = Context; // using (var db = MarfilEntities.ConnectToSqlServer(user.BaseDatos)) // { // var servicePreferencias = new PreferenciasUsuarioService(db); // var doc = servicePreferencias.GetDocumentosImpresionMantenimiento // (user.Id, // TipoAsientoImpresion.Normal.ToString(), "Defecto") as PreferenciaDocumentoImpresionDefecto; // var service = new DocumentosUsuarioService(db); // { // var lst = // service.GetDocumentos(TipoDocumentoImpresion.FacturasVentas, user.Id) // .Where(f => f.Tiporeport == TipoReport.Report); // return new DocumentosBotonImprimirModel() // { // Tipo = TipoDocumentoImpresion.FacturasVentas, // Lineas = lst.Select(f => f.Nombre), // Primarykey = Referencia, // Defecto = doc?.Name // }; // } // } //} public DocumentosBotonImprimirModel GetListFormatos() { var user = Context; using (var db = MarfilEntities.ConnectToSqlServer(user.BaseDatos)) { var servicePreferencias = new PreferenciasUsuarioService(db); var doc = servicePreferencias.GetDocumentosImpresionMantenimiento(user.Id, TipoDocumentoImpresion.Asientos.ToString(), "Defecto") as PreferenciaDocumentoImpresionDefecto; var service = new DocumentosUsuarioService(db); { var lst = service.GetDocumentos(TipoDocumentoImpresion.Asientos, user.Id) .Where(f => f.Tiporeport == TipoReport.Report); return(new DocumentosBotonImprimirModel() { Tipo = TipoDocumentoImpresion.Asientos, Lineas = lst.Select(f => f.Nombre), Primarykey = Referencia, Defecto = doc?.Name }); } } }
public virtual ActionResult DeleteConfirmed(DocumentosModel model) { try { using (var db = MarfilEntities.ConnectToSqlServer(ContextService.BaseDatos)) using (var service = new DocumentosUsuarioService(db)) { TipoDocumentoImpresion tipoDocumento; Guid usuario; string name; DocumentosUsuarioService.GetFromCustomId(model.CustomId, out tipoDocumento, out usuario, out name); ViewBag.TituloMantenimiento = string.Format(General.ConfiguradorDocumentos, Funciones.GetEnumByStringValueAttribute(tipoDocumento)); service.RemovePreferencia(tipoDocumento, usuario, name); return(RedirectToAction("Index", new { id = (int)tipoDocumento })); } } catch (Exception ex) { TempData["errors"] = ex.Message; } return(RedirectToAction("Delete", new { id = model.CustomId })); }
public DocumentosStartup(IContextService context, MarfilEntities db) { _context = context; _documentosService = new DocumentosUsuarioService(db); }
protected virtual IEnumerable <IToolbaritem> IndexToolbar(TipoDocumentoImpresion tipo, Guid usuario) { var result = new List <IToolbaritem>(); result.Add(new ToolbarActionModel() { Icono = "fa fa-plus", Texto = General.BtnNuevoRegistro, Url = Url.Action("Index", "Designer", new { nuevo = true, reportId = DocumentosUsuarioService.CreateCustomId(tipo, usuario, "Nuevo"), returnUrl = Url.Action("Index", "Documentos", new { id = (int)tipo }) }) }); return(result); }