public static void CleanSesiones() { SesionRetriever sesRet = new SesionRetriever(); List <SesionModel> lstSesiones = new List <SesionModel>(); foreach (var sesion in sesRet?.GetAll()) { lstSesiones.Add(sesion); } var sesionesTerminadas = lstSesiones?.Where(x => x.TiempoInicial + x.Duracion < DateTime.Now); if (sesionesTerminadas != null) { foreach (var sesionTerminada in sesionesTerminadas) { sesRet.Delete(sesionTerminada.Id); } } }
public static SesionVal CreateSesion(UsuarioModel usuario, TimeSpan duracion) { Random rnd = new Random(); SesionRetriever sesRet = new SesionRetriever(); SesionModel sesion = sesRet.GetByUsuarioId(usuario.Id); if (sesion == null) { var valueCalculated = new Converter(). Encrypt256(usuario.Nombre + usuario.Id + (rnd.Next(13, 65535)).ToString()); sesion = new SesionModel { Key = SESION_ALIAS2, Value = valueCalculated, TiempoInicial = DateTime.Now, Isonline = true, Id = 0, Usuario_id = usuario.Id, Duracion = duracion }; sesion = sesRet.Register(sesion); } else { sesion.TiempoInicial = DateTime.Now; sesRet.Update(sesion); } CookieModel cookie = new CookieModel { Key = sesion.Key, Value = sesion.Value }; return(new SesionVal(cookie)); }