public async Task <IUser> FindUserAsync(string type, string searchString, UserSearchMode searchMode) { foreach (var userProvider in UserProviders.Where(d => d.SupportsUserType(type))) { var user = await userProvider.FindUserAsync(type, searchString, searchMode); if (user != null) { return(user); } } return(null); }
public UnturnedUser?FindUser(string searchString, UserSearchMode searchMode) { return(AsyncHelper.RunSync(async() => { try { var result = await m_UserManager.FindUserAsync(KnownActorTypes.Player, searchString, searchMode); return result as UnturnedUser; } catch (Exception) { return null; } })); }
public IEnumerable <UserModel> FindUsers(String term, UserSearchMode mode) { if (mode == UserSearchMode.Id) { if (Int64.TryParse(term, out Int64 id)) { return(this.mainCtx.Accounts.Where(a => a.Id == id).Select(a => new UserModel { Id = a.Id, Username = a.Username }).ToList()); } } else if (mode == UserSearchMode.UserName) { return(this.mainCtx.Accounts.Where(a => a.Username != null && a.Username.ToUpper().Contains(term.ToUpper())) .Select(acc => new UserModel { Id = acc.Id, Username = acc.Username }).ToList()); } return(Enumerable.Empty <UserModel>()); }
public Task <IUser> FindUserAsync(string userType, string searchString, UserSearchMode searchMode) { var confidence = 0; var unturnedUser = (IUser)null; foreach (var user in m_UnturnedUsers) { switch (searchMode) { case UserSearchMode.NameOrId: case UserSearchMode.Id: if (user.Id.Equals(searchString, StringComparison.OrdinalIgnoreCase)) { return(Task.FromResult((IUser)user)); } if (searchMode == UserSearchMode.NameOrId) { goto case UserSearchMode.Name; } break; case UserSearchMode.Name: var currentConfidence = NameConfidence(user.DisplayName, searchString, confidence); if (currentConfidence > confidence) { unturnedUser = user; confidence = currentConfidence; } break; default: throw new ArgumentOutOfRangeException(nameof(searchMode), searchMode, null); } } return(Task.FromResult(unturnedUser)); }
public async Task <IUser?> FindUserAsync(string userType, string searchString, UserSearchMode searchMode) { if (searchMode != UserSearchMode.FindById && searchMode != UserSearchMode.FindByNameOrId) { return(null); } var data = await m_UserDataStore.GetUserDataAsync(searchString, userType); if (data == null) { return(null); } return(new OfflineUser(this, m_UserDataStore, data)); }
private IQueryable <PlayerData> FindMultiplePlayersInternal(string searchTerm, UserSearchMode searchMode) { return(searchMode switch { UserSearchMode.FindById => GetPlayerByIdInternal(searchTerm), UserSearchMode.FindByName => GetPlayerByNameInternal(searchTerm), UserSearchMode.FindByNameOrId => GetPlayerByIdInternal(searchTerm) .Concat(GetPlayerByNameInternal(searchTerm)), _ => m_DbContext.Players.Take(0) });
public List <PlayerData> FindMultiplePlayers(string searchTerm, UserSearchMode searchMode) { return(FindMultiplePlayersInternal(searchTerm, searchMode).ToList()); }
public async Task <List <PlayerData> > FindMultiplePlayersAsync(string searchTerm, UserSearchMode searchMode) { return(await FindMultiplePlayersInternal(searchTerm, searchMode).ToListAsync()); }
public PlayerData FindPlayer(string searchTerm, UserSearchMode searchMode) { return(FindMultiplePlayersInternal(searchTerm, searchMode).FirstOrDefault()); }
public async Task <PlayerData> FindPlayerAsync(string searchTerm, UserSearchMode searchMode) { return(await FindMultiplePlayersInternal(searchTerm, searchMode).FirstOrDefaultAsync()); }
public List <PlayerData> FindMultiplePlayers(string searchTerm, UserSearchMode searchMode) { return(RunOperation(dbContext => FindMultiplePlayersInternal(dbContext, searchTerm, searchMode).ToList())); }
public async Task <List <PlayerData> > FindMultiplePlayersAsync(string searchTerm, UserSearchMode searchMode) { return(await RunOperation(dbContext => FindMultiplePlayersInternal(dbContext, searchTerm, searchMode).ToListAsync())); }
public PlayerData FindPlayer(string searchTerm, UserSearchMode searchMode) { return(RunOperation(dbContext => FindMultiplePlayersInternal(dbContext, searchTerm, searchMode).FirstOrDefault())); }
public async Task <PlayerData> FindPlayerAsync(string searchTerm, UserSearchMode searchMode) { return(await RunOperation(dbContext => FindMultiplePlayersInternal(dbContext, searchTerm, searchMode).FirstOrDefaultAsync())); }
public virtual async Task <IUser?> FindUserAsync(string userType, string searchString, UserSearchMode searchMode) { if (string.IsNullOrEmpty(userType)) { throw new ArgumentException(nameof(userType)); } if (string.IsNullOrEmpty(searchString)) { throw new ArgumentException(nameof(searchString)); } foreach (var userProvider in UserProviders.Where(d => d.SupportsUserType(userType))) { var user = await userProvider.FindUserAsync(userType, searchString, searchMode); if (user != null) { return(user); } } return(null); }