Ejemplo n.º 1
0
        public ActionResult VerificarFinSesion()
        {
            try{
                log.Info("metodo VerificarFinSesion , tiempoDuracion: ");
                List <Parametros> param = new List <Parametros>();
                SesionAplicacion  objSesionAplicacion = new SesionAplicacion();
                string            userIdApp, app, tknApp;

                userIdApp = Request.Cookies["SesionIged"]["UserIdApp"].ToString();
                app       = Request.Cookies["SesionIged"]["App"].ToString();
                tknApp    = Request.Cookies["SesionIged"]["TknApp"].ToString();
                log.Info("metodo VerificarFinSesion , tknApp: " + tknApp);
                Encuesta objSesion = new Encuesta();
                string   fecha = objSesion.obtenerFechaUltimaTRansaccion(userIdApp);
                log.Info("metodo VerificarFinSesion , fecha: " + fecha);
                if (fecha != "")
                {
                    DateTime fechUltimaTransaccion = new DateTime();
                    fechUltimaTransaccion = DateTime.Parse(fecha);
                    log.Info("metodo VerificarFinSesion , fechUltimaTransaccion: " + fechUltimaTransaccion);
                    //diferecnia entre las dos fechas
                    TimeSpan ts = DateTime.Now - fechUltimaTransaccion;
                    int      diferenciaMinutos = ts.Minutes;
                    int      valorVerificar    = int.Parse(System.Web.Configuration.WebConfigurationManager.AppSettings["Timeout"]);
                    int      diferencia        = valorVerificar - diferenciaMinutos;
                    if (diferencia < 0)
                    {
                        objSesionAplicacion.EliminarTokenAplicacion(userIdApp, app, tknApp, out param);
                        //SE ELIMINAN LAS VARIABLEA DE SESION
                        objSesion.eliminarSesionIdUsuario(userIdApp);
                        if (param.Find(x => x.Nombre == "p_Salida").Valor == "1")
                        {
                            Session.Abandon();

                            // Invalidate the Cache on the Client Side
                            Response.Cache.SetCacheability(HttpCacheability.NoCache);
                            Response.Cache.SetNoStore();
                            return(Json("cerrada", JsonRequestBehavior.AllowGet));
                        }
                    }
                }
                return(Json("abierta", JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                log.Info("metodo VerificarFinSesion , ERROR: " + ex.ToString());
                return(Json(ex.ToString(), JsonRequestBehavior.AllowGet));
            }
        }