public TotalUsersModel GetAllUsers() { var users = IdentityRepository.GetAllUsers().Select(u => new TotalUserListElement(u.Id, u.AccountName, u.Email, u.Description, u.Note)).ToList(); return(new TotalUsersModel(users)); }
public CustomIdentityUser GetFirstFreeUser(DateTime CallStart, int Tm, int Td, IHubContext <IncomingHub> hubContext) { lock (_locker) { //актуализируем статусы всех пользователей(могут теоретически сбиться при внезапном отключении например) var users = _repo.GetAllUsers(); using (RequestManager rm = new RequestManager()) { foreach (var user in users) { if (rm.HasAssignedRequest(user.Id)) { if (user.IsFree) { _repo.UpdateIsFreeStatus(user, false); if (user.IsLoggedIn) { hubContext.Clients.All.SendAsync("UserUpdate", JsonConvert.SerializeObject(new { id = user.Id, state = (int)UserState.Busy })); } else { hubContext.Clients.All.SendAsync("UserUpdate", JsonConvert.SerializeObject(new { id = user.Id, state = (int)UserState.NotLoggedIn })); } } } else { if (!user.IsFree) { _repo.UpdateIsFreeStatus(user, true); if (user.IsLoggedIn) { hubContext.Clients.All.SendAsync("UserUpdate", JsonConvert.SerializeObject(new { id = user.Id, state = (int)UserState.Free })); } else { hubContext.Clients.All.SendAsync("UserUpdate", JsonConvert.SerializeObject(new { id = user.Id, state = (int)UserState.NotLoggedIn })); } } } } } //while (true) { var retv = _repo.GetFirstFreeUser(CallStart, Tm, Td); if (retv != null) { _repo.UpdateIsFreeStatus(retv, false); hubContext.Clients.All.SendAsync("UserUpdate", JsonConvert.SerializeObject(new { id = retv.Id, state = (int)UserState.Busy })); ////Проверяем наличие необработанных запросов //using (RequestManager rm = new RequestManager()) //{ // if (rm.HasAssignedRequest(retv.Id)) // { // continue; // } //} } return(retv); } } }
public IdentityResponse GetAllUsers(BaseRequest request) { var data = IdentityRepository.GetAllUsers().Select(u => u.AccountName).ToList(); return(new IdentityResponse(data)); }