예제 #1
0
        public static void EditarPaquete(PaqueteM p)
        {
            try
            {
                using (var db = new TurismoAEGLContext())
                {
                    Paquete pa = db.Paquete.Find(p.Id);
                    pa.Nombre             = p.Nombre;
                    pa.Descripcion        = p.Descripcion;
                    pa.Foto               = p.Foto;
                    pa.FechaInicio        = p.FechaInicio;
                    pa.FechaFin           = p.FechaFin;
                    pa.LugaresDisponibles = p.LugaresDisponibles;
                    pa.PrecioPorPersona   = p.PrecioPorPersona;
                    pa.Destacado          = p.Destacado;

                    db.SaveChanges();
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var validationErrors in e.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                               validationError.PropertyName,
                                               validationError.ErrorMessage);
                    }
                }
            }
        }
        public ActionResult Editar(PaqueteM p)
        {
            Paquete paqueteBD = LogicaPaquete.ObtenerPaquete().FirstOrDefault(pa => pa.Id == p.Id);

            Boolean mismaFoto = false;

            if (string.IsNullOrEmpty(p.Foto))
            {
                using (var db = new TurismoAEGLContext())
                {
                    string image = db.Paquete.Find(p.Id).Foto;
                    p.Foto    = image;
                    mismaFoto = true;
                }
            }
            if (!ModelState.IsValid)
            {
                return(View());
            }
            if (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0)
            {
                if (!string.IsNullOrEmpty(p.Foto) || mismaFoto != true)
                {
                    if (!string.IsNullOrEmpty(paqueteBD.Foto))
                    {
                        ImagenesUtility.Borrar(p.Foto);
                    }


                    string nombreSignificativo = p.NombreSignificativoImagen;

                    string pathRelativoImagen = ImagenesUtility.Guardar(Request.Files[0], nombreSignificativo);
                    p.Foto = pathRelativoImagen;
                }
            }
            LogicaPaquete.EditarPaquete(p);

            return(RedirectToAction("Listar", "Paquete"));
        }