Ejemplo n.º 1
0
        public ActionResult VerRevision(int id, long rev)
        {
            string rutaLog = HttpContext.Server.MapPath("/App_Data/Log.txt");

            Documento doc       = new PerDocumento().Obtener(id);
            var       extension = Path.GetExtension(doc.Nombre);

            // Checar que sea un PDF.
            if (extension.ToLower() != ".pdf")
            {
                ViewBag.msj    = "Sólo se pueden visualizar archivos PDF.";
                ViewBag.metodo = "Versiones";
                ViewBag.id     = id;
                return(View("Ver"));
            }

            if (Request.Browser.Type.ToUpper().Contains("IE"))
            {
                if (Request.Browser.MajorVersion < 9)
                {
                    ViewBag.msj    = "El visor de PDFs no soporta Internet Explorer 8 o inferior.";
                    ViewBag.metodo = "Versiones";
                    ViewBag.id     = id;
                    return(View("Ver"));
                }
            }

            var rutaEnCopiaTrabajo = (doc.RevisionEliminacion.GetValueOrDefault() > 0) ? ((rev < doc.RevisionEliminacion.GetValueOrDefault()) ? doc.Ruta : doc.RutaEliminado) : doc.Ruta;

            string rutaTemp = HttpContext.Server.MapPath("/Temp/" + rev + doc.Nombre);
            string rutaUrl  = HttpUtility.UrlEncode("/Temp/" + rev + HttpUtility.UrlPathEncode(doc.Nombre));

            string msj = UtilSVN.ObtenerRevision(rev, rutaTemp, rutaEnCopiaTrabajo);

            if (msj == "Exito")
            {
                // Mandar a la página del viewer con el documento seleccionado.
                return(Redirect("~/Content/PDF.js/web/viewer.html?file=" + rutaUrl));
            }
            else
            {
                ViewBag.msj = msj;
                return(View());
            }
        }
Ejemplo n.º 2
0
        public ActionResult DescargarRevision(int id, long rev)
        {
            string rutaLog = HttpContext.Server.MapPath("/App_Data/Log.txt");

            //Utilerias.EscribirLog(rutaLog, "Usuario: " + Sesion.Current.Usuario.Nombre + " quiere descargar archivo con id: " + id + " en su revisión: " + rev + ".");

            ViewBag.msj = null;

            Documento doc = new PerDocumento().Obtener(id);
            var       rutaEnCopiaTrabajo = (doc.RevisionEliminacion.GetValueOrDefault() > 0) ? ((rev < doc.RevisionEliminacion.GetValueOrDefault()) ? doc.Ruta : doc.RutaEliminado) : doc.Ruta;

            string rutaCopiaTrabajo = UtilSVN.ObtenerRutaCopiaTrabajo();

            string rutaTemp = Path.GetFullPath(Path.Combine(rutaCopiaTrabajo, @"..\"));

            rutaTemp += "Temp";
            Utilerias.CrearRuta(rutaTemp);

            var rutaArchivoTemp = rutaTemp + @"\" + doc.Nombre;

            Debug.WriteLine("rutaArchivoTemp: " + rutaArchivoTemp);

            string msj = UtilSVN.ObtenerRevision(rev, rutaArchivoTemp, rutaEnCopiaTrabajo);

            Debug.WriteLine("msj: " + msj);

            if (msj == "Exito")
            {
                if (System.IO.File.Exists(rutaArchivoTemp))
                {
                    return(File(rutaArchivoTemp, "application/octet-stream", Server.UrlEncode(doc.Nombre)));
                }
                else
                {
                    ViewBag.msj = "No se encontró el archivo.";
                    return(View("Versiones"));
                }
            }
            else
            {
                ViewBag.msj = msj;
                return(View("Versiones"));
            }
        }