예제 #1
0
        public async Task <TResponse <PageResult <IdentityResourceRes> > > GetPaging(GetIdentityResourceReq req)
        {
            try
            {
                if (req.Page <= 1)
                {
                    req.Page = 1;
                }

                if (req.PageSize <= 5)
                {
                    req.PageSize = 5;
                }

                var result = await _readOnlyRepository.QueryMultipleLFAsync <IdentityResource, int>(
                    SqlQuery.IDENTITY_RESOURCE_GET_PAGING, new
                {
                    Name = $"%{req.Name}%",
                    Skip = (req.Page - 1) * req.PageSize,
                    Take = req.PageSize
                });

                if (result != null)
                {
                    if (result.IsSuccess)
                    {
                        return(await Ok(new PageResult <IdentityResourceRes>(req.Page, req.PageSize, result.Data.Item2,
                                                                             Mapper.Map <IEnumerable <IdentityResourceRes> >(result.Data.Item1))));
                    }

                    return(await Fail <PageResult <IdentityResourceRes> >(result.Message));
                }

                return(await Ok(new PageResult <IdentityResourceRes>(1, req.PageSize, 0, null)));
            }
            catch (Exception exception)
            {
                return(await Fail <PageResult <IdentityResourceRes> >(exception));
            }
        }
 public async Task <ActionResult <IEnumerable <IdentityResourceRes> > > Get([FromQuery] GetIdentityResourceReq req)
 {
     return(Ok(await _identityResourceService.GetPaging(req)));
 }