Esempio n. 1
0
        public async Task <ActionResult> RegistratedUsers(SortModel model)
        {
            int pageSize = 15;

            var users = await _usersInfoRepository.GetRegistratedUsersPaged(model.Page, pageSize);

            var itemsCount = await _usersInfoRepository.GetCountOfRegistratedUsers();

            RegistratedUsersViewModel viewModel = new RegistratedUsersViewModel()
            {
                PageViewModel    = new PageViewModel(itemsCount, model.Page, pageSize),
                RegistratedUsers = users ?? new List <RegistratedUsersTableModel>()
            };

            return(View(viewModel));
        }
Esempio n. 2
0
        public StaticPagedList <EquipmentDto> GetList(EquipmentFilter filter, SortModel sort, int page, int count)
        {
            var equipments = _repository.TableNoTracking <Equipment>();

            #region Filter

            if (filter != null)
            {
                if (!string.IsNullOrWhiteSpace(filter.Number))
                {
                    equipments = equipments.Where(x => x.Number.Contains(filter.Number));
                }
                if (filter.Auditories != null && filter.Auditories.Count != 0)
                {
                    equipments = equipments.Where(x => filter.Auditories.Contains(x.AuditoryId));
                }
            }

            var countElement = equipments.Count();
            #endregion

            #region Order

            equipments = sort != null
                ? equipments.OrderBy($"{sort.Column} {sort.Order}").Skip(count * (page - 1)).Take(count)
                : equipments.OrderByDescending(x => x.CreatedAt).Skip(count * (page - 1)).Take(count);

            #endregion

            #region Convert to dto

            var equipmentDtos = equipments.Select(x => new EquipmentDto
            {
                Name       = x.Name,
                Id         = x.Id,
                AuditoryId = x.AuditoryId,
                Note       = x.Note,
                Number     = x.Number,
                State      = x.State
            }).ToList();

            #endregion

            equipmentDtos.ForEach(x => x.Auditory = _dicService.GetDictionaryValues("TaskAuditory").Single(dic => dic.Id == x.AuditoryId).Value);

            return(new StaticPagedList <EquipmentDto>(equipmentDtos, page, count, countElement));
        }
        public async Task <PaginationApiResponse <UserDisplayShortModel> > GetList(int skip, int limit, SortModel sort = null, UserSearchModel search = null)
        {
            sort = SortModel.Check(sort);

            var result = new PaginationApiResponse <UserDisplayShortModel>(skip, limit, 0, new List <UserDisplayShortModel>());

            result.Total = (int)await _repositoryUser.Count(x => x.State == MREntityState.Active);

            var entities = await _repositoryUser.GetSorted(x => x.State == MREntityState.Active, x => x.CreateTime, true, result.Skip, result.Take);

            if (entities != null && entities.Any())
            {
                result.List = _mapper.Map <List <UserDisplayShortModel> >(entities.ToList());
            }

            return(result);
        }
        /// <summary>
        /// 异步加载数据
        /// </summary>
        /// <param name="dRequest"></param>
        /// <returns></returns>
        public ActionResult Read([DataSourceRequest] DataSourceRequest dRequest)
        {
            SortModel sort = null;

            if (dRequest.Sorts != null && dRequest.Sorts.Count > 0)
            {
                sort = dRequest.Sorts[0].ToSortModel();
            }
            var noticeResult        = NotificationService.List(dRequest.Page, dRequest.PageSize, sort);
            DataSourceResult result = new DataSourceResult()
            {
                Data  = noticeResult.Data,
                Total = noticeResult.Total
            };

            return(Json(result));
        }
        /// </summary>
        /// 显示所有的通告
        /// </summary>
        /// <returns>显示所有的通告</returns>
        public ListResult <AnnouncementModel> List(int pageNo, int pageSize, SortModel sort, FilterModel filter)
        {
            using (var dbContext = new MissionskyOAEntities())
            {
                // 1、首先获取所有通告从数据库中
                var list = dbContext.Announcements.AsEnumerable();

                // 2、判断是否有排序
                if (sort != null)
                {
                    switch (sort.Member)
                    {
                    case "CreatedTime":
                        //
                        if (sort.Direction == SortDirection.Ascending)
                        {
                            list = list.OrderBy(item => item.CreatedTime);
                        }
                        else
                        {
                            list = list.OrderByDescending(item => item.CreatedTime);
                        }
                        break;

                    default:
                        break;
                    }
                }

                //
                var count = list.Count();
                // 分页
                list = list.Skip((pageNo - 1) * pageSize).Take(pageSize).ToList();

                ListResult <AnnouncementModel> result = new ListResult <AnnouncementModel>();
                result.Data = new List <AnnouncementModel>();

                list.ToList().ForEach(item =>
                {
                    result.Data.Add(item.ToModel());
                });

                result.Total = count;
                return(result);
            }
        }
Esempio n. 6
0
        public async Task <ActionResult> IncomeTransactions(SortModel model)
        {
            int pageSize = 15;

            var incomeTransactions = await _transactionsRepository.GetPagedIncomeTransactions(model.Page, pageSize);

            var itemsCount = await _transactionsRepository.GetCountOfIncomeTransactions();



            IncomeTransactionsViewModel viewModel = new IncomeTransactionsViewModel()
            {
                PageViewModel      = new PageViewModel(itemsCount, model.Page, pageSize),
                IncomeTransactions = incomeTransactions ?? new List <IncomeTransactionTableModel>()
            };

            return(View(viewModel));
        }
        /// <summary>
        /// 分页获取属性列表
        /// </summary>
        /// <param name="pageNo"></param>
        /// <param name="pageSize"></param>
        /// <param name="sort"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        public ListResult <AssetAttributeModel> List(int pageNo, int pageSize, SortModel sort, FilterModel filter)
        {
            using (var dbContext = new MissionskyOAEntities())
            {
                var list  = dbContext.AssetAttributes.AsEnumerable();
                var count = list.Count();
                list = list.OrderBy(it => it.Sort).Skip((pageNo - 1) * pageSize).Take(pageSize).ToList();
                ListResult <AssetAttributeModel> result = new ListResult <AssetAttributeModel>();
                result.Data = new List <AssetAttributeModel>();
                list.ToList().ForEach(item =>
                {
                    result.Data.Add(item.ToModel());
                });

                result.Total = count;
                return(result);
            }
        }
        public PagedResultModel <LpcReportModel> GetLPCReports(LpcReportRequest request)
        {
            var predicate = PredicateBuilder.True <LpcReport>();

            if (!string.IsNullOrEmpty(request.Neighborhood))
            {
                predicate = predicate.And(x => x.LPCLocation.Neighborhood == request.Neighborhood);
            }

            if (!string.IsNullOrEmpty(request.Borough))
            {
                predicate = predicate.And(x => x.Borough == request.Borough);
            }

            if (!string.IsNullOrEmpty(request.ObjectType))
            {
                predicate = predicate.And(x => x.ObjectType == request.ObjectType);
            }

            var sortModel = new SortModel
            {
                SortColumn = !string.IsNullOrEmpty(request.SortColumn) ? request.SortColumn : null,
                SortOrder  = !string.IsNullOrEmpty(request.SortOrder) ? request.SortOrder : null
            };

            var sortingList = new List <SortModel> {
                sortModel
            };

            int totalCount = _lpcReportRepository.GetCount(predicate);

            var results = _lpcReportRepository
                          .GetPage(predicate, request.PageSize * (request.Page - 1), request.PageSize, sortingList).Include(x => x.LPCLocation);

            var modelData = Mapper.Map <IEnumerable <LpcReport>, IEnumerable <LpcReportModel> >(results).ToList();

            return(new PagedResultModel <LpcReportModel>
            {
                Total = totalCount,
                Page = request.Page,
                Limit = request.PageSize,
                Results = modelData,
            });
        }
Esempio n. 9
0
        public static IQueryable <T> GetSorted <T>(this IQueryable <T> query, SortModel sort) where T : class, IVehicle
        {
            if (sort == null)
            {
                return(query);
            }

            return(sort.SortBy switch
            {
                "Name" => query.OrderBy(s => s.Name),
                "Id" => query.OrderBy(s => s.Id),
                "Abrv" => query.OrderBy(s => s.Abrv),
                "Id_desc" => query.OrderBy(s => s.Id),
                "Name_desc" => query.OrderByDescending(s => s.Name),
                "Abrv_desc" => query.OrderByDescending(s => s.Abrv),
                "Make" => query.OrderBy(s => s.SelectedVehicleMake.Name),
                "Make_desc" => query.OrderByDescending(s => s.SelectedVehicleMake.Name),
                _ => query.OrderBy(s => s.Name),
            });
Esempio n. 10
0
        //[RebelAuthorize(Permissions = new[] { FixedPermissionIds.Sort })]
        public virtual JsonResult SortForm(SortModel model)
        {
            if (!TryValidateModel(model))
            {
                return(ModelState.ToJsonErrors());
            }

            EntityPathCollection path;

            using (var uow = Hive.Create <IContentStore>())
            {
                var found  = uow.Repositories.Get(model.ParentId);
                var exists = uow.Repositories.Exists <TypedEntity>(model.ParentId);
                if (!exists)
                {
                    throw new ArgumentException(string.Format("No entity found for id: {0} on action Sort", model.ParentId));
                }

                var childRelations = uow.Repositories.GetChildRelations(model.ParentId, FixedRelationTypes.DefaultRelationType);

                foreach (var item in model.Items)
                {
                    var relation = childRelations.Single(x => x.DestinationId.EqualsIgnoringProviderId(item.Id));
                    uow.Repositories.ChangeRelation(relation, relation.SourceId, relation.DestinationId, item.SortIndex);
                }
                path = uow.Repositories.GetEntityPaths(model.ParentId, FixedRelationTypes.DefaultRelationType);
                uow.Complete();
            }

            Notifications.Add(new NotificationMessage(
                                  "Sort.Success.Message".Localize(this),
                                  "Sort.Title".Localize(this), NotificationType.Success));

            return(new CustomJsonResult(new
            {
                success = true,
                notifications = Notifications,
                msg = "Sort.Success.Message".Localize(this),
                path = path.ToJson()
            }.ToJsonString));
        }
        /// <summary>
        /// 列出所有签收单
        /// </summary>
        /// <param name="pageNo"></param>
        /// <param name="pageSize"></param>
        /// <param name="sort"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        public ListResult <AcceptProxyModel> List(int pageNo, int pageSize, SortModel sort, FilterModel filter)
        {
            using (var dbContext = new MissionskyOAEntities())
            {
                var list = dbContext.AcceptProxies.AsEnumerable();

                if (sort != null)
                {
                    switch (sort.Member)
                    {
                    case "LastModifyTime":
                        if (sort.Direction == SortDirection.Ascending)
                        {
                            list = list.OrderBy(item => item.LastModifyTime);
                        }
                        else
                        {
                            list = list.OrderByDescending(item => item.LastModifyTime);
                        }
                        break;

                    default:
                        break;
                    }
                }

                var count = list.Count();

                list = list.Skip((pageNo - 1) * pageSize).Take(pageSize).ToList();

                ListResult <AcceptProxyModel> result = new ListResult <AcceptProxyModel>();
                result.Data = new List <AcceptProxyModel>();
                list.ToList().ForEach(item =>
                {
                    result.Data.Add(item.ToModel());
                });

                result.Total = count;
                return(result);
            }
        }
Esempio n. 12
0
        protected override void OnInitialized()
        {
            base.OnInitialized();

            Sortable = Sortable || SorterMultiple != default || SorterCompare != default || DefaultSortOrder != default || SortDirections?.Any() == true;

            if (IsHeader)
            {
                if (FieldExpression != null)
                {
                    _propertyReflector = PropertyReflector.Create(FieldExpression);
                }

                if (Sortable)
                {
                    if (_propertyReflector.HasValue)
                    {
                        SortModel = new SortModel <TData>(_propertyReflector.Value.PropertyInfo, SorterMultiple, DefaultSortOrder, SorterCompare);
                    }
                    else
                    {
                        (GetValue, SortModel) = ColumnDataIndexHelper <TData> .GetDataIndexConfig(this);
                    }
                }
            }
            else if (IsBody)
            {
                SortModel = Context.HeaderColumns[ColIndex] is IFieldColumn fieldColumn ? fieldColumn.SortModel : null;

                (GetValue, _) = ColumnDataIndexHelper <TData> .GetDataIndexConfig(this);
            }

            SortDirections ??= Table.SortDirections;

            Sortable       = Sortable || SortModel != null;
            _sortDirection = SortModel?.SortDirection ?? DefaultSortOrder ?? SortDirection.None;

            ClassMapper
            .If("ant-table-column-has-sorters", () => Sortable)
            .If($"ant-table-column-sort", () => Sortable && SortModel != null && SortModel.SortDirection.IsIn(SortDirection.Ascending, SortDirection.Descending));
        }
Esempio n. 13
0
        public virtual async Task <IResult> GetAllAsync()
        {
            try
            {
                var sortCriteria = new List <SortModel>();
                var sort         = new SortModel();
                sortCriteria.Add(sort);
                var query = await UnitOfWork.Repository.GetAllAsync(sortCriteria);

                var data = Mapper.Map <IEnumerable <T>, IEnumerable <TDto> >(query);
                return(ResponseResult.PostResult(data, status: HttpStatusCode.OK,
                                                 message: HttpStatusCode.OK.ToString()));
            }
            catch (Exception e)
            {
                Result.Message = e.InnerException != null ? e.InnerException.Message : e.Message;
                Result         = new ResponseResult(null, status: HttpStatusCode.InternalServerError, exception: e,
                                                    message: Result.Message);
                return(Result);
            }
        }
Esempio n. 14
0
        public virtual IList <TEntityModel> GetItems(IList <FilterModel> filters, SortModel sortModel, int page = 1, int pageSize = 20)
        {
            var currentItems = this.genericRepository.All();

            if (filters != null)
            {
                foreach (var item in filters)
                {
                    var condition = (Expression <Func <TEntity, bool> >) this.CreateExpressionForFilter(typeof(TEntity), item);
                    currentItems = currentItems.Where(condition);
                }
            }

            var filteredItems = this.mapper.ProjectTo <TEntityModel>(currentItems).ToList();

            IOrderedEnumerable <TEntityModel> orderedList;

            if (sortModel != null)
            {
                orderedList = this.SortEntities(filteredItems, sortModel);
            }
            else
            {
                orderedList = this.SortEntities(filteredItems, new SortModel {
                    Direction = AscSortingCode, Prop = nameof(BaseDbModel.Id)
                });
            }

            var skipItemsCount = (page - 1) * pageSize;

            var pagedItems = pageSize <= 0 ?
                             orderedList : // get all, because no page size is pecified
                             orderedList
                             .Skip(skipItemsCount)
                             .Take(pageSize);

            var result = pagedItems.ToList();

            return(result);
        }
Esempio n. 15
0
        public void SortingDescProperlyOrdersItemsBasedOnDateCreated()
        {
            var filters = new List <FilterModel>
            {
                new FilterModel
                {
                    Prop       = "Name",
                    Comparison = "equals",
                    Value      = "Hello"
                }
            };

            var sorting = new SortModel
            {
                Prop      = "DateCreated",
                Direction = "desc"
            };

            var result = this.dataSerivceUrl.GetItems(filters, sorting, 1, 10);

            Assert.IsTrue(result[0].DateCreated > result[1].DateCreated);
        }
Esempio n. 16
0
        private IQueryable <GenderModel> sortData(IQueryable <GenderModel> data, SortModel sortModel)
        {
            if (sortModel == null)
            {
                sortModel = new SortModel();
            }

            if (sortModel.SortOrder == "asc")
            {
                switch (sortModel.SortField)
                {
                }
            }
            else
            {
                switch (sortModel.SortField)
                {
                }
            }

            return(data);
        }
        public async Task <IEnumerable <Wallet> > GetSortedSearch(SortModel data)
        {
            PropertyInfo propertyInfo = null;

            if (!string.IsNullOrEmpty(data.Key))
            {
                propertyInfo = typeof(Wallet).GetProperty(data.Key);
            }

            IEnumerable <Wallet> queryable = await GetAll();

            if (!string.IsNullOrEmpty(data.Search))
            {
                queryable = queryable.Where
                                (c => c.Id.ToString().Equals(data.Search) ||
                                c.Type.Equals(data.Search) ||
                                c.Amount.ToString().Equals(data.Search));
                //return queryable;
            }

            var skipped = (data.PagerModel.CurrentPage - 1) * data.PagerModel.PageSize;

            queryable = queryable.Skip(skipped).Take(data.PagerModel.PageSize);

            if (!string.IsNullOrEmpty(data.Key) && !string.IsNullOrEmpty(data.SortedFilter))
            {
                if (data.SortedFilter.Contains("asc"))
                {
                    queryable = queryable.OrderByDescending(s => propertyInfo.GetValue(s, null));
                }

                if (data.SortedFilter.Contains("desc"))
                {
                    queryable = queryable.OrderBy(s => propertyInfo.GetValue(s, null));
                }
            }

            return(queryable);
        }
Esempio n. 18
0
        public void PagingProperlyReturnsOneItemForPagesize1()
        {
            var filters = new List <FilterModel>
            {
                new FilterModel
                {
                    Prop       = "Name",
                    Comparison = "equals",
                    Value      = "Hello"
                }
            };

            var sorting = new SortModel
            {
                Prop      = "DateCreated",
                Direction = "desc"
            };

            var result = this.dataSerivceUrl.GetItems(filters, sorting, 1, 1);

            Assert.IsTrue(result.Count == 1);
        }
        protected IQueryable <T> GetSorted <T>(IQueryable <T> collection, SortModel sorting)
        {
            if (sorting is null)
            {
                return(collection);
            }

            if (sorting.SortName is null)
            {
                return(collection);
            }

            var type          = typeof(T);
            var sortFieldType = type.GetProperty(sorting.SortName)?.PropertyType;

            if (sortFieldType == null)
            {
                return(collection);
            }

            if (sortFieldType == typeof(DateTime))
            {
                return(sorting.SortAscending ?
                       collection.OrderBy(CreateSelectorExpression <T, DateTime>(sorting.SortName)) :
                       collection.OrderByDescending(CreateSelectorExpression <T, DateTime>(sorting.SortName)));
            }

            if (sortFieldType == typeof(Double))
            {
                return(sorting.SortAscending ?
                       collection.OrderBy(CreateSelectorExpression <T, Double>(sorting.SortName)) :
                       collection.OrderByDescending(CreateSelectorExpression <T, Double>(sorting.SortName)));
            }

            return(sorting.SortAscending ?
                   collection.OrderBy(CreateSelectorExpression <T, string>(sorting.SortName)) :
                   collection.OrderByDescending(CreateSelectorExpression <T, string>(sorting.SortName)));
        }
Esempio n. 20
0
        public virtual ActionResult Sort(HiveId?id)
        {
            if (id.IsNullValueOrEmpty())
            {
                return(HttpNotFound());
            }

            using (var uow = Hive.Create <IContentStore>())
            {
                var exists = uow.Repositories.Exists <TypedEntity>(id.Value);
                if (!exists)
                {
                    throw new ArgumentException(string.Format("No entity found for id: {0} on action Sort", id));
                }

                var model = new SortModel {
                    ParentId = id.Value
                };

                var items = uow.Repositories.GetLazyChildRelations(id.Value, FixedRelationTypes.DefaultRelationType);

                model.Items = items.Select(
                    x => new SortItem
                {
                    UtcCreated = x.Destination.UtcCreated,
                    Id         = x.Destination.Id,
                    SortIndex  = x.Ordinal,
                    //TODO: Casting the relation as a TPE here but the item may be related to something else, not a TPE: need a helper method for returning the name
                    Name =
                        ((TypedEntity)x.Destination).Attributes[NodeNameAttributeDefinition.AliasValue].Values[
                            "Name"].ToString()
                })
                              .OrderBy(x => x.SortIndex)
                              .ToArray();

                return(View(model));
            }
        }
Esempio n. 21
0
        public void PagingProperlyReturnsSecondPage()
        {
            var filters = new List <FilterModel>
            {
                new FilterModel
                {
                    Prop       = "Name",
                    Comparison = "equals",
                    Value      = "Hello"
                }
            };

            var sorting = new SortModel
            {
                Prop      = "DateCreated",
                Direction = "desc"
            };

            var result      = this.dataSerivceUrl.GetItems(filters, sorting, 2, 1);
            var wanteObject = MoqDbContext.urls.Where(x => x.Name == "Hello" && x.IsDeleted == false).OrderByDescending(x => x.DateCreated).ToList();

            Assert.IsTrue(result[0].Id == wanteObject[1].Id);
        }
Esempio n. 22
0
        public async Task <IActionResult> MyRefferals(SortModel model)
        {
            int pageSize = 15;

            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            if (string.IsNullOrEmpty(userId))
            {
                return(Redirect("/Identity/Account/Login%2FMy%2FEvents"));
            }

            var reffUsers = await _userRepository.GetUserRefferals_Paged(userId, model.Page, pageSize);

            var itemsCount = await _userRepository.GetCountOfRefferrersUser(userId);

            UserRefferalViewModel viewModel = new UserRefferalViewModel()
            {
                PageViewModel = new PageViewModel(itemsCount, model.Page, pageSize),
                MyRefferals   = reffUsers ?? new List <UserRefferalTableModel>()
            };

            return(View(viewModel));
        }
Esempio n. 23
0
        /// <summary>
        /// Set or get current Sort parametrs from session
        /// </summary>
        /// <param name="model"></param>
        private void GetSort(GoodsModel model)
        {
            SortModel sess = (SortModel)Session["Sort"];

            if (sess == null)
            {
                SortModel sort = new SortModel()
                {
                    RevName      = "A-Я",
                    RevboolName  = false,
                    RevId        = "сначала новые",
                    RevboolId    = true,
                    RevPrice     = "сначала дорогие",
                    RevboolPrice = true
                };
                Session["Sort"] = sort;
                model.Sort      = sort;
            }
            else
            {
                model.Sort = sess;
            }
        }
Esempio n. 24
0
        /// <summary>
        /// 异步加载数据
        /// </summary>
        /// <param name="dRequest"></param>
        /// <returns></returns>
        public ActionResult Read([DataSourceRequest] DataSourceRequest dRequest)
        {
            SortModel sort = null;

            if (dRequest.Sorts != null && dRequest.Sorts.Count > 0)
            {
                sort = dRequest.Sorts[0].ToSortModel();
            }
            FilterModel filter = null;

            if (dRequest.Filters != null && dRequest.Filters.Count > 0)
            {
                filter = ((FilterDescriptor)dRequest.Filters[0]).ToSortModel();
            }
            var noticeResult        = RoleService.List(dRequest.Page, dRequest.PageSize, sort, filter);
            DataSourceResult result = new DataSourceResult()
            {
                Data  = noticeResult.Data,
                Total = noticeResult.Total
            };

            return(Json(result));
        }
Esempio n. 25
0
        public static SortModel ToSortModel(this SortDescriptor sort)
        {
            SortModel model = new SortModel()
            {
                Member = sort.Member
            };

            switch (sort.SortDirection)
            {
            case System.ComponentModel.ListSortDirection.Ascending:
                model.Direction = SortDirection.Ascending;
                break;

            case System.ComponentModel.ListSortDirection.Descending:
                model.Direction = SortDirection.Descending;
                break;

            default:
                break;
            }

            return(model);
        }
Esempio n. 26
0
        public StaticPagedList <Purchase> GetList(PlanPurchaseFilter filter, SortModel sort, int page, int count)
        {
            var plans = _repository.TableNoTracking <Purchase>();

            #region Filter

            if (filter != null)
            {
                if (!string.IsNullOrWhiteSpace(filter.Name))
                {
                    plans = plans.Where(x => x.Name.Contains(filter.Name));
                }
                if (filter.From != null)
                {
                    plans = plans.Where(x => x.Date >= filter.From);
                }
                if (filter.To != null)
                {
                    plans = plans.Where(x => x.Date <= filter.To);
                }
            }

            #endregion

            var countElement = plans.Count();

            #region Order

            plans = sort != null
                ? plans.OrderBy($"{sort.Column} {sort.Order}").Skip(count * (page - 1)).Take(count)
                : plans.OrderByDescending(x => x.CreatedAt).Skip(count * (page - 1)).Take(count);

            #endregion


            return(new StaticPagedList <Purchase>(plans, page, count, countElement));
        }
Esempio n. 27
0
        private IQueryable <MovieResponseModel> ApplySorting(SortModel sort, IQueryable <MovieResponseModel> query)
        {
            if (sort.IsDescending)
            {
                if (sort.Field.ToLower() == EntityColumnNamesConstants.Id.ToLower())
                {
                    query = query.OrderByDescending(x => x.Id);
                }
                else if (sort.Field.ToLower() == EntityColumnNamesConstants.Title.ToLower())
                {
                    query = query.OrderByDescending(x => x.Title);
                }
                else if (sort.Field.ToLower() == EntityColumnNamesConstants.ReleaseDate.ToLower())
                {
                    query = query.OrderByDescending(x => x.ReleaseDate);
                }
            }

            else
            {
                if (sort.Field.ToLower() == EntityColumnNamesConstants.Id.ToLower())
                {
                    query = query.OrderBy(x => x.Id);
                }

                else if (sort.Field.ToLower() == EntityColumnNamesConstants.Title.ToLower())
                {
                    query = query.OrderBy(x => x.Title);
                }
                else if (sort.Field.ToLower() == EntityColumnNamesConstants.ReleaseDate.ToLower())
                {
                    query = query.OrderBy(x => x.ReleaseDate);
                }
            }

            return(query);
        }
Esempio n. 28
0
        public async Task <IActionResult> Index(SortModel model)
        {
            int pageSize = 15;

            if (!string.IsNullOrEmpty(model.SearchString))
            {
                var users = await _userRepository.FindPagedUsersByUsername(model.SearchString, model.Page,
                                                                           pageSize);

                UsersViewModel viewModel = new UsersViewModel()
                {
                    PageViewModel = new PageViewModel(users.Count, model.Page, pageSize),
                    Users         = users
                };

                return(View("Views/Admin/Users.cshtml", viewModel));
            }
            else if (!string.IsNullOrEmpty(model.ColumnName))
            {
                //NOT COMPLETED
                return(null);
            }
            else
            {
                var users = await _userRepository.GetPagedUsers(model.Page, pageSize);

                var usersCount = await _userRepository.GetCountOfUsers();

                UsersViewModel viewModel = new UsersViewModel()
                {
                    PageViewModel = new PageViewModel(usersCount, model.Page, pageSize),
                    Users         = users
                };

                return(View("Views/Admin/Users.cshtml", viewModel));
            }
        }
Esempio n. 29
0
        public PagedResultModel <LandmarkModel> GetLandmarks(LandmarkRequest request)
        {
            var predicate = PredicateBuilder.True <Landmark>();

            if (!string.IsNullOrEmpty(request.LPCNumber))
            {
                predicate = predicate.And(x => x.LP_NUMBER == request.LPCNumber);
            }

            var sortModel = new SortModel
            {
                SortColumn = !string.IsNullOrEmpty(request.SortColumn) ? request.SortColumn : null,
                SortOrder  = !string.IsNullOrEmpty(request.SortOrder) ? request.SortOrder : null
            };

            var sortingList = new List <SortModel>();

            sortingList.Add(sortModel);

            int totalCount = _landmarktRepository.FindBy(predicate).Count();

            var results = _landmarktRepository
                          .GetPage(predicate, request.PageSize * (request.Page - 1), request.PageSize, sortingList);

            var modelData = Mapper.Map <IEnumerable <Landmark>, IEnumerable <LandmarkModel> >(results).ToList();

            var pagedResult = new PagedResultModel <LandmarkModel>
            {
                Total   = totalCount,
                Page    = request.Page,
                Limit   = request.PageSize,
                Results = modelData,
            };

            return(pagedResult);
        }
        public void Can_Get_Filtered_Paging_List()
        {
            var predicate = PredicateBuilder.True <Landmark>();
            var request   = new LandmarkRequest()
            {
                PageSize = 20,
                Page     = 1,
            };

            var sortModel = new SortModel
            {
                SortColumn = !string.IsNullOrEmpty(request.SortColumn) ? request.SortColumn : null,
                SortOrder  = !string.IsNullOrEmpty(request.SortOrder) ? request.SortOrder : null,
            };

            var sortingList = new List <SortModel>();

            sortingList.Add(sortModel);

            var results = _landmarkRepository
                          .GetPage(predicate, request.PageSize * (request.Page - 1), request.PageSize, sortingList);

            Assert.NotNull(results);
        }