public static void Add(string sessionName, int expiration) { List <ExpirationSolution> list = DataSessionManager.GetData <List <ExpirationSolution> >(KEY, true); bool done = false; if (list != null) { int cnt = list.Count; for (int i = 0; i < cnt; i++) { var it = list[i]; if (it.SessionName.Equals(sessionName)) { it.StarDate = DateTime.Now; it.Minutes = expiration; done = true; break; } } } else { list = new List <ExpirationSolution>(); } if (!done) { list.Add(new ExpirationSolution { StarDate = DateTime.Now, Minutes = expiration, SessionName = sessionName }); } DataSessionManager.SetData(KEY, list); }
public static void Solve() { var lastRun = DataSessionManager.GetData <DateTime?>(KEY2); if (lastRun == null) { DataSessionManager.SetData(KEY2, DateTime.Now); } else { var tt = DateTime.Now - (DateTime)lastRun; //10 phut chay 1 lan if (tt.Minutes > 10) { List <ExpirationSolution> list = DataSessionManager.GetData <List <ExpirationSolution> >(KEY, true); if (list != null) { List <ExpirationSolution> list2 = new List <ExpirationSolution>(); int cnt = list.Count; for (int i = 0; i < cnt; i++) { var it = list[i]; var t = DateTime.Now - it.StarDate; if (t.Minutes >= it.Minutes) { DataSessionManager.RemoveData(it.SessionName); continue; } list2.Add(it); } if (list2.Count > 0) { DataSessionManager.SetData(KEY, list2); } } DataSessionManager.SetData(KEY2, DateTime.Now); } } }