Exemple #1
0
        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);
        }
Exemple #2
0
        public ActionResult GetDataGrid(Pagination p)
        {
            DataObjectListWithPagination <RoleDTOList> pageData = new DataObjectListWithPagination <RoleDTOList>();

            using (ServiceProxy <IUserService> proxy = new ServiceProxy <IUserService>())
            {
                pageData = proxy.Channel.GetRolesByPage(p);
            }
            var result = new DataGrid()
            {
                total = pageData.pagination.TotalRecords, rows = pageData.DataObjectList
            };

            return(Json(result));
        }