public DataObjects.DataObjectListWithPagination <DataObjects.WebDTOList> GetWebsByPage(DataObjects.Pagination pagination) { ISpecification <Web> where = Specification <Web> .Eval(w => true); if (pagination.StartTime != null) { DateTime time = pagination.StartTime.Value; where = where.And(Specification <Web> .Eval(u => u.CreateDate > time)); } if (pagination.EndTime != null) { DateTime time = pagination.EndTime.Value; where = where.And(Specification <Web> .Eval(u => u.CreateDate < time)); } if (!string.IsNullOrEmpty(pagination.LikeWord)) { string likeword = pagination.LikeWord; where = where.And(Specification <Web> .Eval(u => u.Name.Contains(likeword))); } Expression <Func <Web, dynamic> > sortPredicate; var property = typeof(Role).GetProperty(pagination.sort); if (property != null) { sortPredicate = r => property.Name; } else { sortPredicate = r => r.CreateDate; } SortOrder order = pagination.order.ToLower() == "desc" ? SortOrder.Descending : SortOrder.Ascending; PagedResult <Web> rolepages = webRepository.GetAll(where, sortPredicate , order, pagination.page, pagination.rows); DataObjectListWithPagination <WebDTOList> result = new DataObjectListWithPagination <WebDTOList>(); if (rolepages == null) { return(result); } if (rolepages.Data != null) { rolepages.Data.ForEach(u => { result.DataObjectList.Add(Mapper.Map <Web, WebDTO>(u)); }); } else { result.DataObjectList = new WebDTOList(); } result.DataObjectList = result.DataObjectList.ToViewModel(); result.pagination.page = rolepages.PageNumber; result.pagination.rows = rolepages.PageSize; result.pagination.TotalPages = rolepages.TotalPages; result.pagination.TotalRecords = rolepages.TotalRecords; return(result); }
public DataObjects.DataObjectListWithPagination <DataObjects.RoleDTOList> GetRolesByPage(DataObjects.Pagination pagination) { try { return(userServiceImpl.GetRolesByPage(pagination)); } catch (Exception ex) { throw new FaultException <FaultData>(FaultData.CreateFromException(ex), FaultData.CreateFaultReason(ex)); } }