Exemple #1
0
        public async void FindGroups()
        {
            var md = TestMetadata;
            var g1 = await _hiarc.CreateGroup(md);

            md["quotaCarrying"] = false;
            await _hiarc.CreateGroup(md);

            await _hiarc.CreateGroup();

            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 FindGroupsRequest {
                Query = query
            };
            var foundGroups = await _hiarc.FindGroups(request);

            Assert.Single(foundGroups);
            Assert.Equal(g1, foundGroups[0], new EntityComparer());
        }
Exemple #2
0
        public async Task <List <Group> > FindGroups(FindGroupsRequest request, string asUserKey = null, string bearerToken = null, bool logToConsole = true)
        {
            var foundGroups = await Post <FindGroupsRequest, List <Group> >(request, "groups/find", asUserKey, bearerToken);

            if (logToConsole)
            {
                Console.WriteLine($"Found {foundGroups.Count} Groups: {ToJson(foundGroups)}");
            }
            ;
            return(foundGroups);
        }
Exemple #3
0
        public async Task <IActionResult> FindGroups([FromBody] FindGroupsRequest request)
        {
            try
            {
                var matchingGroups = await _hiarcDatabase.FindGroups(request);

                return(Ok(matchingGroups));
            }
            catch (Exception ex)
            {
                return(BuildErrorResponse(ex, _logger));
            }
        }
        public async Task <IActionResult> Find([FromQuery] FindGroupsRequest request, CancellationToken cancellationToken)
        {
            var groups = await _mediator.Send(new FindGroupsQuery(request.CityId, request.TopicIds), cancellationToken);

            return(Ok(groups));
        }
Exemple #5
0
        public async Task <IActionResult> Find([FromQuery] FindGroupsRequest request)
        {
            var groups = await _groupsApi.Find(request);

            return(Ok(groups));
        }