コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
 public LabUserNotFoundException(UserQuery parameters, string message)
     : base(message)
 {
     Parameters = parameters;
 }
コード例 #4
0
        public static Task <LabResponse> GetSpecificUserAsync(string upn)
        {
            var query = new UserQuery();

            return(GetLabUserDataAsync(query));
        }