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 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));
        }
Exemple #3
0
        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);
            }
        }
        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);
        }