public static async Task <LabResponse> GetLabUserDataAsync(UserQuery query) { if (s_userCache.ContainsKey(query)) { Debug.WriteLine("User cache hit"); return(s_userCache[query]); } var user = await s_labService.GetLabResponseAsync(query).ConfigureAwait(false); if (user == null) { throw new LabUserNotFoundException(query, "Found no users for the given query."); } Debug.WriteLine("User cache miss"); s_userCache.Add(query, user); return(user); }
/// <summary> /// Returns a test user account for use in testing. /// </summary> /// <param name="query">Any and all parameters that the returned user should satisfy.</param> /// <returns>Users that match the given query parameters.</returns> public async Task <LabResponse> GetLabResponseAsync(UserQuery query) { var response = await GetLabResponseFromApiAsync(query).ConfigureAwait(false); return(response); }
public LabUserNotFoundException(UserQuery parameters, string message) : base(message) { Parameters = parameters; }
public static Task <LabResponse> GetSpecificUserAsync(string upn) { var query = new UserQuery(); return(GetLabUserDataAsync(query)); }