public IActionResult ModificarProyecto(int Id)
 {
     var Proyecto = Context.Proyectos.Include(m => m.Imagenes).SingleOrDefault(m => m.ProyectoId == Id);
     var Modelo = new ModificarProyectoViewModel();
     Modelo.Nombre = Proyecto.Nombre;
     Modelo.Descripcion = Proyecto.Descripcion;
     Modelo.ProyectoId = Proyecto.ProyectoId;
     Modelo.Imagenes = Proyecto.Imagenes;
     return View(Modelo);
 }
        public IActionResult ModificarProyecto(int Id, ModificarProyectoViewModel modelo)
        {
            if (!ModelState.IsValid)
            {
                return View(modelo);
            }

            var Proyecto = Context.Proyectos.Include(m => m.Imagenes).SingleOrDefault(m => m.ProyectoId == Id);
            string RutaFolder = "";
            if (modelo.Nombre != Proyecto.Nombre)
            {
                var RutaFolderVieja = Path.Combine(Environment.WebRootPath, "Uploads", Proyecto.Nombre);
                var RutaFolderNueva = Path.Combine(Environment.WebRootPath, "Uploads", modelo.Nombre);
                System.IO.Directory.Move(RutaFolderVieja, RutaFolderNueva);
                RutaFolder = Path.Combine("Uploads", modelo.Nombre);
            }
            else {
                RutaFolder = Path.Combine("Uploads", Proyecto.Nombre);
            }
            

            if (modelo.ImagenPerfil != null && modelo.ImagenPerfil.Length > 0)
            {
                var RutaImagenPerfil = Path.Combine(Environment.WebRootPath, "Uploads", Proyecto.ImagenPerfil);

                if (System.IO.File.Exists(RutaImagenPerfil))
                {
                    System.IO.File.Delete(RutaImagenPerfil);
                }
                var fileName = ContentDispositionHeaderValue.Parse(modelo.ImagenPerfil.ContentDisposition).FileName.Trim('"');
                var rutaImagen = Path.Combine(RutaFolder, fileName);
                modelo.ImagenPerfil.SaveAs(rutaImagen);

                Proyecto.ImagenPerfil = fileName;
            }

            foreach (var Imagen in modelo.ImagenesForm)
            {
                if (Imagen != null && Imagen.Length > 0)
                {
                    var fileName = ContentDispositionHeaderValue.Parse(Imagen.ContentDisposition).FileName.Trim('"');
                    var rutaImagen = Path.Combine(RutaFolder, fileName);
                    Imagen.SaveAs(rutaImagen);

                    Proyecto.Imagenes.Add(new ImagenProyecto
                    {
                        Path = fileName
                    });
                }
            }

            Proyecto.Nombre = modelo.Nombre;
            Proyecto.Descripcion = modelo.Descripcion;
            Proyecto.EstadoProyecto = modelo.EstadoProyecto;
            Context.SaveChanges();

            return RedirectToAction("ModificarProyecto", new {id = Proyecto.ProyectoId });
        }