/// <summary> /// Производит резолвинг данных с текущим контекстом. /// </summary> /// <param name="context">Контекст.</param> /// <returns>Данные.</returns> public override async Task <object> Resolve(ResolveFieldContext <object> context) { var request = new FindUsersRequest(); request.Name = context.GetArgument <string>("name"); request.CurrentUserName = context.UserContext.As <UserContext>().UserName; MessageOutputBase outputMessage = null; object result = null; await Execute(flow => { flow.StartRegisterFlow() .Add <FindUsersStep>(); flow.When <FindUsersStep, FindUsersParams>(fetch => { outputMessage = fetch.Response; result = fetch.Response.Profiles; }); }, request, context); ProcessErrors(context, outputMessage); return(result); }
public async void FindUsers() { var md = TestMetadata; var u1 = await _hiarc.CreateUser(md); md["quotaCarrying"] = false; await _hiarc.CreateUser(md); await _hiarc.CreateUser(); var query = new List <Dictionary <string, object> > { new Dictionary <string, object> { { "prop", "department" }, { "op", "starts with" }, { "value", "sal" } }, new Dictionary <string, object> { { "bool", "and" } }, new Dictionary <string, object> { { "parens", "(" } }, new Dictionary <string, object> { { "prop", "targetRate" }, { "op", ">=" }, { "value", 4.22 } }, new Dictionary <string, object> { { "bool", "and" } }, new Dictionary <string, object> { { "prop", "quotaCarrying" }, { "op", "=" }, { "value", true } }, new Dictionary <string, object> { { "parens", ")" } } }; var request = new FindUsersRequest { Query = query }; var foundUsers = await _hiarc.FindUsers(request); Assert.Single(foundUsers); Assert.Equal(u1, foundUsers[0], new EntityComparer()); }
public async Task <List <User> > FindUsers(FindUsersRequest request, string asUserKey = null, string bearerToken = null, bool logToConsole = true) { var foundUsers = await Post <FindUsersRequest, List <User> >(request, "users/find", asUserKey, bearerToken); if (logToConsole) { Console.WriteLine($"Found {foundUsers.Count} Users: {ToJson(foundUsers)}"); } ; return(foundUsers); }
public async Task <IActionResult> FindUsers([FromBody] FindUsersRequest request) { try { var matchingUsers = await _hiarcDatabase.FindUsers(request); return(Ok(matchingUsers)); } catch (Exception ex) { return(BuildErrorResponse(ex, _logger)); } }
public FindUsersResponse Find(FindUsersRequest request) { try { _userQuery.Init(); _userQuery.WithOnlyActivated(true); _userQuery.WithUserName(request.UserName); _userQuery.Sort(request.Sort, request.SortBy); var totalRecords = _userQuery.TotalRecords(); _userQuery.Paginate(request.ItemsToShow, request.Page); var users = _userQuery.Execute(); return(new FindUsersResponse { Users = TypeAdapter.Adapt <List <UserResponse> >(users), TotalRecords = totalRecords }); } catch (DataAccessException) { throw new ApplicationException(); } }
public async Task <MessageOutputBase> FindUsers(FindUsersRequest request) { MessageOutputBase result = null; request.CurrentUserName = GetCurrentUser(); await Execute(flow => { flow.StartRegisterFlow() .Add <FindUsersStep>(); flow.When <FindUsersStep, FindUsersParams>(fetch => { result = fetch.Response; }); }, request, error => { result = error; }); return(result); }
public FindUsersResponse Get(FindUsersRequest request) { return(_userService.Find(request)); }