Ejemplo n.º 1
0
        /// <summary>
        /// List profile
        /// </summary>
        /// <param name="request"></param>
        /// <returns>The list of profile items</returns>
        public async Task <APIGatewayProxyResponse> Get(APIGatewayProxyRequest request, ILambdaContext context)
        {
            string page  = "1";
            string limit = "5";

            if (request.QueryStringParameters != null && request.QueryStringParameters.ContainsKey("page"))
            {
                page = request.QueryStringParameters["page"];
            }

            if (request.QueryStringParameters != null && request.QueryStringParameters.ContainsKey("limit"))
            {
                limit = request.QueryStringParameters["limit"];
            }

            FilterRequestModel filter = new FilterRequestModel {
                Page  = page,
                Limit = limit
            };

            var profileService = _service.GetService <ProfileService>();
            var response       = await profileService.ListProfileAsync(filter);

            return(response);
        }
Ejemplo n.º 2
0
        public async Task <APIGatewayProxyResponse> ListProfileAsync(FilterRequestModel filter)
        {
            decimal perPage     = Decimal.Parse(filter.Limit);
            int     currentPage = Int32.Parse(filter.Page);
            int     skip        = (currentPage - 1) * (int)perPage;

            List <ProfileModel> data_list = await _context_db.Profiles.AsNoTracking().Skip(skip).Take((int)perPage).ToListAsync();

            decimal totalData = await _context_db.Profiles.CountAsync();

            int totalPageNumber = (int)Math.Ceiling(totalData / perPage);

            ListProfileModel result = new ListProfileModel {
                version         = "2.0",
                totalItem       = (int)totalData,
                perPage         = (int)perPage,
                totalPageNumber = totalPageNumber,
                currentPage     = currentPage,
                Profiles        = data_list
            };

            APIGatewayProxyResponse respond = new APIGatewayProxyResponse {
                StatusCode = (int)HttpStatusCode.OK,
                Headers    = new Dictionary <string, string>
                {
                    { "Content-Type", "application/json" },
                    { "Access-Control-Allow-Origin", "*" }
                },
                Body = JsonConvert.SerializeObject(result)
            };

            return(respond);
        }