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"])) }));
        }
Esempio n. 2
0
        private void CrearModel(string linea)
        {
            var vector = linea.Split(';');

            var report = new XtraReport();

            using (var ms = new MemoryStream(File.ReadAllBytes(_context.ServerMapPath(Path.Combine("~/App_Data/Documentos/", vector[4])))))
            {
                report.LoadLayout(ms);
                report.DataSource = FDocumentosDatasourceReport.CreateReport((TipoDocumentoImpresion)Enum.Parse(typeof(TipoDocumentoImpresion), vector[0]), _context).DataSource;

                using (var stream = new MemoryStream())
                {
                    report.SaveLayout(stream);
                    var model = new DocumentosModel()
                    {
                        Usuario        = Guid.Empty.ToString(),
                        Tipo           = (TipoDocumentoImpresion)Enum.Parse(typeof(TipoDocumentoImpresion), vector[0]),
                        Nombre         = vector[1],
                        Tipoprivacidad = (TipoPrivacidadDocumento)Enum.Parse(typeof(TipoPrivacidadDocumento), vector[2]),
                        Tiporeport     = (TipoReport)Enum.Parse(typeof(TipoReport), vector[3]),
                        Datos          = stream.ToArray(),
                        Defecto        = Funciones.Qbool(vector[5])
                    };

                    _documentosService.SetPreferencia(model.Tipo, new Guid(model.Usuario), model.Tipoprivacidad, model.Tiporeport, model.Nombre, model.Datos, model.Defecto);
                }
            }
        }