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));
                }
        }
예제 #2
0
        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 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
            }));
        }
예제 #4
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);
        }
예제 #5
0
        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));
        }
예제 #6
0
        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 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 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 }));
        }