public IHttpActionResult GetAll(UserSortType sort = UserSortType.Id) { switch (sort) { case UserSortType.Id: return this.Ok(Context.Clients.ToList().Select(i => ClientConverter.ToDto(i))); case UserSortType.Name: return this.Ok(Context.Clients.ToList().Select(i => ClientConverter.ToDto(i)).OrderBy(i => i.Name)); default: return this.Ok(Context.Clients); } }
/// <summary> /// いろいろなソートをする /// </summary> /// <param name="type">ソートの種類</param> /// <returns></returns> public IEnumerable <User> SortWith(UserSortType type) { if (type == UserSortType.Alphabet) { return(SortWithAlphabet()); } else if (type == UserSortType.Count) { return(SortWithCount()); } else { return(CreateUserList()); } }
public IHttpActionResult GetAll(UserSortType sort = UserSortType.Id) { switch (sort) { case UserSortType.Id: return this.Ok(Context.Users.OrderBy(i => i.Id)); case UserSortType.Name: return this.Ok(Context.Users.OrderBy(i => i.Name)); case UserSortType.Priority: return this.Ok(Context.Users.OrderBy(i => i.MemberPriority)); case UserSortType.Memberage: return this.Ok(Context.Users.OrderByDescending(i => i.MemberAge)); default: return this.Ok(Context.Users); } }
public ActionResult <List <ProfileUser> > GetUsers(int pageNumber, int pageSize, UserSortType sortType) { try { var result = _db.Users .Include(f => f.FollowedUsers) .Include(f => f.FollowsUsers) .Select(u => new ProfileUser { Id = u.Id, FirstName = u.FirstName, LastName = u.LastName, Email = u.Email, ImgUrl = u.ImgUrl, City = u.City, Country = u.Country, DateOfBirth = u.DateOfBirth, Gender = u.Gender, Followed = u.FollowedUsers.Count(), Follows = u.FollowsUsers.Count() }).AsNoTracking(); switch (sortType) { case UserSortType.POPULAR_ASCENDING: result = result.OrderBy(p => p.Follows); break; case UserSortType.POPULAR_DESCENDING: result = result.OrderByDescending(p => p.Follows); break; } result = result .Skip(pageNumber * pageSize) .Take(pageSize); return(result.ToList()); }catch (Exception ex) { return(StatusCode(500, $"Internal server error {ex}")); } }