Esempio n. 1
0
        public HttpResponseMessage Page(ProjectsPageParams parameters)
        {
            PageResult result = null;

            ExecuteInSession(session =>
            {
                IList <Project> data = GetPageCriteriaByParams(session, parameters)
                                       .SetFirstResult((parameters.Page - 1) * parameters.PageSize)
                                       .SetMaxResults(parameters.PageSize)
                                       .List <Project>();

                result = new PageResult()
                {
                    Total = GetPageCriteriaByParams(session, parameters).SetProjection(Projections.Count(Projections.Id())).UniqueResult <int>(),
                    Data  = ModelMapper.Map <IEnumerable <Project>, IEnumerable <ProjectDto> >(data)
                };
            });

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
Esempio n. 2
0
 private ICriteria GetPageCriteriaByParams(ISession session, ProjectsPageParams parameters)
 {
     return(session.CreateCriteria <Project>());
 }