예제 #1
0
        public async Task <IActionResult> Search(UsersSearchParametersModel parameters)
        {
            if (parameters.Limit <= Configurations.MinLimit || parameters.Limit > Configurations.MaxLimit)
            {
                return(await Error(HttpStatusCode.BadRequest, "limit", "Invalid limit parameter"));
            }

            if (parameters.Page <= 0)
            {
                return(await Error(HttpStatusCode.BadRequest, "page", "Invalid page parameter"));
            }

            var usersDto = _userApiService.Search(parameters.Query, parameters.Order, parameters.Page, parameters.Limit);

            var usersRootObject = new UsersRootObject()
            {
                Users = usersDto
            };

            var json = JsonFieldsSerializer.Serialize(usersRootObject, parameters.Fields);

            return(new RawJsonActionResult(json));
        }