Пример #1
0
        private IQueryable <User> FindUsers(ViewModels.UserInfoBindingModel searchUser)
        {
            var sex = SexEnum.Unknown;

            switch (searchUser.Sex)
            {
            case "Male":
                sex = SexEnum.Male;
                break;

            case "Female":
                sex = SexEnum.Female;
                break;
            }
            var birthDate = new DateTime();

            if (searchUser.BirthDate != null)
            {
                birthDate = DateTime.ParseExact(searchUser.BirthDate, "yyyy-MM-dd",
                                                System.Globalization.CultureInfo.InvariantCulture);
            }
            return(from users in _context.Users
                   where (searchUser.UserName == null || users.UserName.StartsWith(searchUser.UserName)) &&
                   (searchUser.FirstName == null || users.FirstName.StartsWith(searchUser.FirstName)) &&
                   (searchUser.LastName == null || users.LastName.StartsWith(searchUser.LastName)) &&
                   (searchUser.Email == null || users.Email == searchUser.Email) &&
                   (searchUser.Sex == null || users.Sex == sex) &&
                   (searchUser.BirthDate == null || users.BirthDate == birthDate)
                   select users);
        }
Пример #2
0
 public IEnumerable <User> FindUsers(ViewModels.UserInfoBindingModel searchUser, int usersPerPage, int page)
 {
     if (page < 1)
     {
         page = 1;
     }
     return(FindUsers(searchUser)
            .OrderBy(u => u.FirstName)
            .ThenBy(u => u.LastName)
            .Skip(usersPerPage * (page - 1))
            .Take(usersPerPage));
 }
Пример #3
0
 public int FindUsersPageCount(ViewModels.UserInfoBindingModel searchUser, int usersPerPage)
 {
     return(Pagination.CountPages(FindUsers(searchUser).Count(), usersPerPage));
 }