public IHttpActionResult Page(ClaimsPageParams parameters) { PageResult result = null; ExecuteInSession(session => { IList <Claim> data = GetPageCriteriaByParams(session, parameters) .SetFirstResult((parameters.Page - 1) * parameters.PageSize) .SetMaxResults(parameters.PageSize) .List <Claim>(); result = new PageResult() { Total = GetPageCriteriaByParams(session, parameters).SetProjection(Projections.Count(Projections.Id())).UniqueResult <int>(), Data = ModelMapper.Map <IEnumerable <Claim>, IEnumerable <ClaimDto> >(data) }; }); return(Ok <PageResult>(result)); }
private ICriteria GetPageCriteriaByParams(ISession session, ClaimsPageParams parameters) { return(session.CreateCriteria <Claim>()); }