Exemplo n.º 1
0
        // 4. Agrego metodo para el acceso, recibe información de formulario de index de access
        public ActionResult Enter(string user, string password) // Los parametros son los Name del Index de Access
        {
            try
            {
                // 5. Luego de agregar EF en Models, procedo a realizar la siguiente validación
                using (CursomvcEntities db = new CursomvcEntities()) // Creo mi objeto EF
                {
                    var lst = from d in db.user                      // d es un alias, sería como el SELECT, el in seria como el FROM
                              where d.email == user && d.password == password && d.idState == 1
                              select d;                              // select d trae todo lo de la tabla users, podria definir un campo en especifico asi: select d.password

                    if (lst.Count() > 0)                             // valida si se encuentra el registro en la db
                    {
                        user oUser = lst.First();
                        Session["User"] = oUser;             // Session["User"] es como se maneja dato de sesión en C#
                        return(Content("1"));
                    }
                    else
                    {
                        return(Content("Usuario inválido"));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Content("Ocurrio un error: " + ex.Message)); // Content es un metodo que retorna un texto, en vez de una vista
            }
        }
Exemplo n.º 2
0
        [HttpPost]                                   // Metodo para que información solo entre por post
        public ActionResult Add(UserViewModel model) // En este método, se RECIBE la información desde el formulario
        {
            // 17. se valida la información recibida y se guarda en la DB
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //guardado en DB
            using (var db = new CursomvcEntities())
            {
                user oUser = new user(); // Como voy a registrar un nuevo usuario, instancio el objeto, y empiezo a asignarle sus valores, acorde al modelo
                oUser.idState  = 1;
                oUser.email    = model.Email;
                oUser.edad     = model.Edad;
                oUser.password = model.Password;

                db.user.Add(oUser);

                db.SaveChanges(); // Importante incluir metodo SaveChanges, para que quede almacenado el registro
            }

            // Una vez almacenado el registro, se re dirige a la vista del listado de usuarios, mediante el metodo Index() de este controlador
            return(Redirect(Url.Content("~/User/")));
        }
Exemplo n.º 3
0
        public ActionResult Delete(int Id) // Recibe el modelo
        {
            using (var db = new CursomvcEntities())
            {
                var oUser = db.user.Find(Id);
                oUser.idState = 3;                                               // Estado 3 para eliminado

                db.Entry(oUser).State = System.Data.Entity.EntityState.Modified; // Se le indica a EF que el objego oUser se editó
                db.SaveChanges();
            }

            return(Content("1")); // Content se usa para en vez de regresar una vista, regresar un contenido
        }
Exemplo n.º 4
0
        // 19. Se crean los métodos Delete y Edit

        public ActionResult Edit(int Id)// Para entrar a la vista
        {
            EditUserViewModel model = new EditUserViewModel();

            using (var db = new CursomvcEntities())
            {
                var oUser = db.user.Find(Id);
                model.Edad  = (int)oUser.edad; // Llena el campo edad del modelo
                model.Email = oUser.email;
                model.Id    = oUser.id;
            }

            return(View(model)); // Vista recibe el modelo con los datos para que lo llene
        }
Exemplo n.º 5
0
        // GET: User
        public ActionResult Index()
        {
            // 12. Se muestra la información de la siguiente manera:
            List <UserTableViewModel> lst = null; // Creo lista de UserTableViewModel vacia

            using (CursomvcEntities db = new CursomvcEntities())
            {
                // Se llena lista
                lst = (from d in db.user
                       where d.idState == 1
                       orderby d.email
                       select new UserTableViewModel
                {
                    Email = d.email,       //Paso los valores de la consulta, y los asigno a los atributos creados en la clase UserTableViewModel
                    Id = d.id,
                    Edad = d.edad
                }).ToList();       // Luego de lst = se cierra todo entre parentesis, dado que se va a convertir en lista el resultado mediante .ToList()
            }

            return(View(lst));
        }
Exemplo n.º 6
0
        public ActionResult Edit(EditUserViewModel model) // Recibe el modelo
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            using (var db = new CursomvcEntities())
            {
                var oUser = db.user.Find(model.Id);
                oUser.email = model.Email;
                oUser.edad  = model.Edad;

                if (model.Password != null && model.Password.Trim() != "")
                {
                    oUser.password = model.Password;
                }

                db.Entry(oUser).State = System.Data.Entity.EntityState.Modified; // Se le indica a EF que el objego oUser se editó
                db.SaveChanges();
            }

            return(Redirect(Url.Content("~/User/")));
        }