示例#1
0
        public ActionResult LoginVerify(FormCollection form)
        {
            string ip           = getIP();
            string pk_comprador = Convert.ToString(form["pk_comprador"]);
            string password     = Convert.ToString(form["password"]);

            using (db_carrito_apl_Entities db = new db_carrito_apl_Entities())
            {
                var query = from c in db.compradores
                            where c.pk_comprador == pk_comprador && c.password == password
                            select c;

                if (query.Count() != 1)
                {
                    return(RedirectToRoute("Default", new { controller = "Login", action = "Index", error = "La contraseña o la cédula no es válida." }));
                }
                else
                {
                    foreach (var c in query)
                    {
                        System.Diagnostics.Debug.WriteLine("Logeado: " + c.pk_comprador);
                        Session["id"]        = c.pk_comprador;
                        Session["nombres"]   = c.nombres;
                        Session["apellidos"] = c.apellidos;
                    }
                }
            }
            using (db_carrito_apl_Entities db2 = new db_carrito_apl_Entities())
            {
                if (ModelState.IsValid && Session["id"] != null)
                {
                    sesiones sesion = new sesiones();
                    sesion.ip           = ip;
                    sesion.fk_comprador = pk_comprador;

                    sesion.fecha_login = DateTime.Now;
                    db2.sesiones.Add(sesion);
                    db2.SaveChanges();
                    Session["id_sesion"] = sesion.pk_sesiones;
                }
            }
            return(RedirectToRoute("Default", new { controller = "Home", action = "Index" }));
        }
示例#2
0
        public ActionResult LogOut()
        {
            db_carrito_apl_Entities db = new db_carrito_apl_Entities();

            FormsAuthentication.SignOut();
            Session.Abandon();
            if (ModelState.IsValid)
            {
                sesiones sesion = db.sesiones.Find(Session["id_sesion"]);
                if (sesion != null)
                {
                    sesion.fecha_logout    = DateTime.Now;
                    db.Entry(sesion).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }
                else
                {
                    System.Diagnostics.Debug.WriteLine("Se intenta cerrar una sesion inexistente. Login->LogOut");
                }
            }
            return(RedirectToAction("index", "login"));
        }