コード例 #1
0
        public BlacklistQueryResult Search(SearchPersonBlacklistRequest model)
        {
            Establish.For(model, nameof(model)).IsNotNull()
            .Property(x => x.Name, nameof(model.Name), e => e.IsNotNullOrEmpty())
            .Property(x => x.CountryCode, nameof(model.CountryCode), e => e.IsNotNullOrEmpty().HasExactLength(2));

            // name and country are manditory
            var query = new DplSearch();

            query.AddClause(DplFields.Name, DplSearchMatchType.Similar, model.Name);
            query.AddClause(DplFields.CountryCode, DplSearchMatchType.Exact, model.CountryCode);

            if (!string.IsNullOrEmpty(model.City))
            {
                query.AddClause(DplFields.City, DplSearchMatchType.Exact, model.City);
            }
            if (!string.IsNullOrEmpty(model.Email))
            {
                query.AddClause(DplFields.Notes, DplSearchMatchType.Contains, model.Email);
            }
            if (!string.IsNullOrEmpty(model.StateCode))
            {
                query.AddClause(DplFields.StateCode, DplSearchMatchType.Exact, model.StateCode);
            }

            var dplResult = CSDenialService.SearchDpl(query);
            var result    = new BlacklistQueryResult(dplResult.Hits.Select(x => x.Id));

            return(result);
        }
コード例 #2
0
        public IActionResult SearchPerson([HttpTrigger(AuthorizationLevel.Function, "post", Route = "search/person")] SearchPersonBlacklistRequest model, ILogger logger)
        {
            try
            {
                var result = BlacklistManager.Search(model);

                return(new OkObjectResult(result));
            }
            catch (Exception ex)
            {
                return(new BadRequestObjectResult(new ExceptionResult(ex)));
            }
        }