예제 #1
0
        public async Task <IActionResult> Get()
        {
            var fruitDtoList = await _fruitService.FruitQuery();

            if (fruitDtoList == null)
            {
                return(this.NotFoundEx());
            }
            return(this.OkEx(fruitDtoList));
        }
        public async Task <IActionResult> Get()
        {
            try
            {
                int       skipCount      = string.IsNullOrWhiteSpace(Request.Query["skipCount"]) ? 0 : Convert.ToInt32(Request.Query["skipCount"]);
                int       maxResultCount = string.IsNullOrWhiteSpace(Request.Query["maxResultCount"]) ? 20 : Convert.ToInt32(Request.Query["maxResultCount"]);
                const int MAXCOUNT       = 1000;
                if (maxResultCount > MAXCOUNT)
                {
                    return(this.BadRequestEx(new Dictionary <string, object>
                    {
                        { "code", 10004 },
                        { "message", $"The number of queries must be smaller than ${MAXCOUNT}" }
                    }));
                }
                string fields = Request.Query["fields"];

                string sort = Request.Query["sort"];
                sort = sort ?? "";
                if (sort == "")
                {
                    if (!string.IsNullOrWhiteSpace(fields))
                    {
                        sort = fields.Substring(0, fields.IndexOf(",")) + " asc";
                    }
                    else
                    {
                        sort = "code asc";
                    }
                }
                else if (sort.Substring(1, 1) == "-")
                {
                    sort = sort.Substring(1) + @" desc";
                }
                else
                {
                    sort = sort.Substring(0) + @" asc";
                }



                var fruitDtoList = await _fruitService.FruitQuery(fields, sort, skipCount, maxResultCount);

                if (fruitDtoList == null)
                {
                    return(this.NotFoundEx());
                }
                return(this.OkEx(fruitDtoList));
            }
            catch (Exception ex)
            {
                return(this.ErrorEx(ex.Message));
            }
        }