/// <summary> /// Проверка того что все юзеры вышли из системы, по критериям времени или статус стоит что вышли /// </summary> /// <returns></returns> public bool EnsureAllUsersExit() { bool allUsersExit = true; foreach (var user in Users.Values) { if (!user.IsWorking) { continue; } if (UsersMayWork.ContainsKey(user.SID)) { allUsersExit = false; continue; } foreach (var page in user.Pages.Values) { if (TimeIsEnd(user.SID, page.Page)) { SetUserIsExit(user.SID, page.Page); } else { allUsersExit = false; } } } return(allUsersExit); }
/// <summary> /// Получить флаг того что юзер, может работать не смотря на ограничения /// </summary> /// <param name="sid"></param> /// <returns></returns> protected bool UserMayWork(string sid) { if (Users.ContainsKey(sid)) { return(UsersMayWork.ContainsKey(sid)); } return(false); }
/// <summary> /// Установить пользвателю значение MayWork /// </summary> /// <param name="sid"></param> /// <param name="mayWork"></param> public void SetUserMayWork(string sid, bool mayWork) { if (!UsersMayWork.ContainsKey(sid) && mayWork) { UsersMayWork.Add(sid, Users[sid].Name); } else if (UsersMayWork.ContainsKey(sid)) { UsersMayWork.Remove(sid); } }