private void SwitchUsersCurrentGamingGroupIfNecessary(GamingGroupEditRequest request) { if (request.Active) { return; } var users = _dataContext.GetQueryable <ApplicationUser>() .Where(x => x.CurrentGamingGroupId == request.GamingGroupId) .ToList(); foreach (var user in users) { _gamingGroupContextSwitcher.EnsureContextIsValid(user); } }
public virtual ActionResult UserGamingGroups(ApplicationUser currentUser) { var gamingGroups = _gamingGroupRetriever.GetGamingGroupsForUser(currentUser.Id); var currentGamingGroup = gamingGroups.FirstOrDefault(gg => gg.Id == currentUser.CurrentGamingGroupId); if ((currentUser.CurrentGamingGroupId.HasValue && currentGamingGroup == null) || (currentUser.CurrentGamingGroupId == null && gamingGroups.Count > 0)) { _gamingGroupContextSwitcher.EnsureContextIsValid(currentUser); currentGamingGroup = gamingGroups.FirstOrDefault(gg => gg.Id == currentUser.CurrentGamingGroupId); } var model = new UserGamingGroupsModel { GamingGroups = gamingGroups, CurrentGamingGroup = currentGamingGroup, CurrentUser = currentUser }; return(PartialView(MVC.Account.Views._UserGamingGroupsPartial, model)); }