Beispiel #1
0
        public ActionResult Edit([Bind(Include = "ID_Documento,Nombre,ID_Clasificacion,Activo,Ruta_Documento")] DOCTOAYUDA dOCTOAYUDA, HttpPostedFileWrapper Ruta_Documento)
        {
            int pagina_id = 1507;//ID EN BASE DE DATOS

            FnCommon.ObtenerConfPage(db, pagina_id, User.Identity.Name, this.ControllerContext.Controller, 1500);
            string spras_id = ViewBag.spras_id;

            if (ModelState.IsValid)
            {
                DOCTOAYUDA actdOCTOAYUDA = db.DOCTOAYUDAs.Find(dOCTOAYUDA.ID_DOCUMENTO);

                if (Ruta_Documento != null)//Se ha seleccionado un nuevo archivo
                {
                    if (!ExtensionesNS.Contains(Ruta_Documento.ContentType))
                    {
                        if (Ruta_Documento.ContentLength < 31457280 && Ruta_Documento.ContentLength > 0)//30 MB maximo
                        {
                            //Elimina el anterior
                            var eliminar = Path.Combine(
                                Server.MapPath("~/Archivos/DoctosAyuda"), actdOCTOAYUDA.RUTA_DOCUMENTO.Split('/').Last());
                            FileInfo file = new FileInfo(eliminar);
                            file.Delete();
                            //Guarda el nuevo archivo
                            var fileName = Path.GetFileName(Ruta_Documento.FileName);
                            dOCTOAYUDA.RUTA_DOCUMENTO = Path.Combine(
                                Server.MapPath("~/Archivos/DoctosAyuda"), dOCTOAYUDA.ID_DOCUMENTO + "_" + fileName);
                            Ruta_Documento.SaveAs(dOCTOAYUDA.RUTA_DOCUMENTO);

                            actdOCTOAYUDA.RUTA_DOCUMENTO = "Archivos/DoctosAyuda/" + dOCTOAYUDA.ID_DOCUMENTO + "_" + Ruta_Documento.FileName;
                            actdOCTOAYUDA.NOMBRE         = dOCTOAYUDA.NOMBRE;
                            actdOCTOAYUDA.ACTIVO         = dOCTOAYUDA.ACTIVO;
                            db.SaveChanges();
                            return(RedirectToAction("Index"));
                        }
                        else
                        {
                            TempData["Filesize"] = "El archivo excede el tamaño máximo permitido";
                        }
                    }
                    else
                    {
                        TempData["Extension"] = "No se admiten archivos con el tipo de extensión seleccionado.";
                    }
                }
                else//No se actualiza el archivo, solo los demas campos
                {
                    actdOCTOAYUDA.NOMBRE = dOCTOAYUDA.NOMBRE;
                    actdOCTOAYUDA.ACTIVO = dOCTOAYUDA.ACTIVO;
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            return(View(dOCTOAYUDA));
        }
Beispiel #2
0
        public ActionResult Create([Bind(Include = "ID_Documento,Nombre,ID_Clasificacion,Activo,Ruta_Documento")] DOCTOAYUDA dOCTOAYUDA, HttpPostedFileWrapper Ruta_Documento)
        {
            int pagina_id = 1506;//ID EN BASE DE DATOS

            FnCommon.ObtenerConfPage(db, pagina_id, User.Identity.Name, this.ControllerContext.Controller, 1500);
            string spras_id = ViewBag.spras_id;

            ViewBag.ID_Clasificacion = new SelectList(db.DOCTOCLASIFTs.Where(t => t.SPRAS_ID == spras_id), "ID_Clasificacion", "Texto");
            if (ModelState.IsValid)
            {
                if (!ExtensionesNS.Contains(Ruta_Documento.ContentType))
                {
                    if (Ruta_Documento.ContentLength < 31457280 && Ruta_Documento.ContentLength > 0)//30 MB
                    {
                        dOCTOAYUDA.ID_DOCUMENTO = getID_Docto(dOCTOAYUDA.ID_CLASIFICACION);

                        var fileName = Path.GetFileName(Ruta_Documento.FileName);
                        dOCTOAYUDA.RUTA_DOCUMENTO = Path.Combine(
                            Server.MapPath("~/Archivos/DoctosAyuda"), dOCTOAYUDA.ID_DOCUMENTO + "_" + fileName);
                        Ruta_Documento.SaveAs(dOCTOAYUDA.RUTA_DOCUMENTO);

                        dOCTOAYUDA.RUTA_DOCUMENTO = "Archivos/DoctosAyuda/" + dOCTOAYUDA.ID_DOCUMENTO + "_" + Ruta_Documento.FileName;
                        db.DOCTOAYUDAs.Add(dOCTOAYUDA);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        TempData["Filesize"] = "El archivo excede el tamaño máximo permitido";
                    }
                }
                else
                {
                    TempData["Extension"] = "No se admiten archivos con el tipo de extensión seleccionado.";
                }
            }
            dOCTOAYUDA.RUTA_DOCUMENTO = null;
            return(View(dOCTOAYUDA));
        }