public override IEnumerable <Core.Db.User> GetUsers(string keyword, UserOrderBy uo) { using (var session = _store.OpenSession()) { try { var col = session.Query <User>(); var keywordToLower = string.IsNullOrEmpty(keyword) ? "*" : "*" + keyword.ToLower() + "*"; switch (uo) { case UserOrderBy.UsernameAscending: return(col.Search(u => u.Username, keywordToLower).OrderBy(u => u.Username).ToArray()); case UserOrderBy.UsernameDescending: return(col.Search(u => u.Username, keywordToLower).OrderByDescending(u => u.Username).ToArray()); } return(new User[] { }); } catch (Exception) { return(new User[] { }); } } }
public virtual ActionResult List(string term = "", int pageNumber = 1, int pageCount = 10, Order order = Order.Descending, UserOrderBy userOrderBy = UserOrderBy.RegisterDate, UserSearchBy userSearchBy = UserSearchBy.PhoneNumber) { #region Retrive Data int totalUsers; var users = _userService.GetDataTable(out totalUsers, term, pageNumber, pageCount, order, userOrderBy, userSearchBy); var model = new UsersListViewModel { UserOrderBy = userOrderBy, Term = term, PageNumber = pageNumber, Order = order, UsersList = users, TotalUsers = totalUsers, PageCount = pageCount }; #endregion ViewBag.UserSearchByList = DropDown.GetUserSearchByList(userSearchBy); ViewBag.UserOrderByList = DropDown.GetUserOrderByList(userOrderBy); ViewBag.CountList = DropDown.GetCountList(pageCount); ViewBag.OrderList = DropDown.GetOrderList(order); ViewBag.UserSearchBy = userSearchBy; return(PartialView(MVC.Admin.User.Views._ListPartial, model)); }
private void processView() { switch (View) { case "show": break; case "search": break; case "onlineuser": break; case "online": break; case "onlineguest": break; case "friendnumber": SortField = UserOrderBy.TotalFriends; break; case "onlinetime": this.SortField = UserOrderBy.TotalOnlineTime; break; case "viewnumber": this.SortField = UserOrderBy.TotalViews; break; case "female": this.SortField = UserOrderBy.TotalViews; this.Filter.Gender = Gender.Female; break; case "male": this.Filter.Gender = Gender.Male; this.SortField = UserOrderBy.TotalViews; break; case "point": this.SortField = UserOrderBy.Points; break; case "postcount": this.SortField = UserOrderBy.TotalPosts; break; } UserOrderBy order = _Request.Get <UserOrderBy>("sort", Method.Get, UserOrderBy.UserID); if (order != UserOrderBy.UserID) { SortField = order; } }
/// <summary> /// Search for users. /// </summary> /// <returns>All the users.</returns> public User[] GetUsers(string keyword, UserOrderBy uo) { var q = Database.GetUsers(keyword, uo); if (q.Any()) { return(q.ToArray()); } return(new User[] { }); }
public override IEnumerable <Core.Db.User> GetAdministrators(string keyword, UserOrderBy uo) { var col = _db.GetCollection <User>(Core.Db.User.DocumentName); var keywordToLower = keyword.ToLower(); BsonExpression query = null; if (!string.IsNullOrEmpty(keyword)) { query = Query.And(Query.EQ("UserProfile", UserProfile.Administrator.ToString()), Query.Contains("Username", keywordToLower)); } switch (uo) { case UserOrderBy.UsernameAscending: if (query != null) { //return col.Find(Query.And(Query.All("Username"), query)); var q = Query.All("Username"); q.Where.Add(query); return(col.Find(q)); } else { //return col.Find(Query.And(Query.All("Username"), Query.EQ("UserProfile", UserProfile.Administrator.ToString()))); var q = Query.All("Username"); q.Where.Add(Query.EQ("UserProfile", UserProfile.Administrator.ToString())); return(col.Find(q)); } case UserOrderBy.UsernameDescending: if (query != null) { //return col.Find(Query.And(Query.All("Username", Query.Descending), query)); var q = Query.All("Username", Query.Descending); q.Where.Add(query); return(col.Find(q)); } else { //return col.Find(Query.And(Query.All("Username", Query.Descending), Query.EQ("UserProfile", UserProfile.Administrator.ToString()))); var q = Query.All("Username", Query.Descending); q.Where.Add(Query.EQ("UserProfile", UserProfile.Administrator.ToString())); return(col.Find(q)); } } return(new User[] { }); }
public UserFilter(XmlElement node) : base(node) { foreach (XmlElement propertyNode in node.ChildNodes) { switch (propertyNode.Name) { case "idOrScreenNameStartsWith": this._IdOrScreenNameStartsWith = propertyNode.InnerText; continue; case "idEqual": this._IdEqual = propertyNode.InnerText; continue; case "idIn": this._IdIn = propertyNode.InnerText; continue; case "loginEnabledEqual": this._LoginEnabledEqual = (NullableBoolean)ParseEnum(typeof(NullableBoolean), propertyNode.InnerText); continue; case "roleIdEqual": this._RoleIdEqual = propertyNode.InnerText; continue; case "roleIdsEqual": this._RoleIdsEqual = propertyNode.InnerText; continue; case "roleIdsIn": this._RoleIdsIn = propertyNode.InnerText; continue; case "firstNameOrLastNameStartsWith": this._FirstNameOrLastNameStartsWith = propertyNode.InnerText; continue; case "permissionNamesMultiLikeOr": this._PermissionNamesMultiLikeOr = propertyNode.InnerText; continue; case "permissionNamesMultiLikeAnd": this._PermissionNamesMultiLikeAnd = propertyNode.InnerText; continue; case "orderBy": this._OrderBy = (UserOrderBy)StringEnum.Parse(typeof(UserOrderBy), propertyNode.InnerText); continue; } } }
/// <summary> /// Returns administrators search result. /// </summary> /// <param name="keyword">Keyword.</param> /// <param name="uo">User Order By.</param> /// <returns>Administrators search result.</returns> public User[] GetAdministrators(string keyword, UserOrderBy uo) { try { var admins = Database.GetAdministrators(keyword, uo); return(admins.ToArray()); } catch (Exception e) { Logger.ErrorFormat("Error while retrieving administrators: {0}", e.Message); return(new User[] { }); } }
public static SelectList GetUserOrderByList(UserOrderBy usersOrderBy) { var selectedOrder = new List <SelectListItem> { new SelectListItem { Text = "UserName", Value = "UserName" }, new SelectListItem { Text = "RegisterDate", Value = "RegisterDate" }, //new SelectListItem {Text = "OrderCount", Value = "OrderCount"} }; return(new SelectList(selectedOrder, "Value", "Text", usersOrderBy)); }
public override IEnumerable <Core.Db.User> GetUsers(string keyword, UserOrderBy uo) { var col = _db.GetCollection <User>(Core.Db.User.DocumentName); var keywordToLower = keyword.ToLower(); switch (uo) { case UserOrderBy.UsernameAscending: return(col.Find(u => u.Username.ToLower().Contains(keywordToLower)).Sort(Builders <User> .Sort.Ascending(u => u.Username)).ToEnumerable()); case UserOrderBy.UsernameDescending: return(col.Find(u => u.Username.ToLower().Contains(keywordToLower)).Sort(Builders <User> .Sort.Descending(u => u.Username)).ToEnumerable()); } return(new User[] { }); }
public UserFilter(JToken node) : base(node) { if (node["idOrScreenNameStartsWith"] != null) { this._IdOrScreenNameStartsWith = node["idOrScreenNameStartsWith"].Value <string>(); } if (node["idEqual"] != null) { this._IdEqual = node["idEqual"].Value <string>(); } if (node["idIn"] != null) { this._IdIn = node["idIn"].Value <string>(); } if (node["loginEnabledEqual"] != null) { this._LoginEnabledEqual = (NullableBoolean)ParseEnum(typeof(NullableBoolean), node["loginEnabledEqual"].Value <string>()); } if (node["roleIdEqual"] != null) { this._RoleIdEqual = node["roleIdEqual"].Value <string>(); } if (node["roleIdsEqual"] != null) { this._RoleIdsEqual = node["roleIdsEqual"].Value <string>(); } if (node["roleIdsIn"] != null) { this._RoleIdsIn = node["roleIdsIn"].Value <string>(); } if (node["firstNameOrLastNameStartsWith"] != null) { this._FirstNameOrLastNameStartsWith = node["firstNameOrLastNameStartsWith"].Value <string>(); } if (node["permissionNamesMultiLikeOr"] != null) { this._PermissionNamesMultiLikeOr = node["permissionNamesMultiLikeOr"].Value <string>(); } if (node["permissionNamesMultiLikeAnd"] != null) { this._PermissionNamesMultiLikeAnd = node["permissionNamesMultiLikeAnd"].Value <string>(); } if (node["orderBy"] != null) { this._OrderBy = (UserOrderBy)StringEnum.Parse(typeof(UserOrderBy), node["orderBy"].Value <string>()); } }
public static SelectList GetUserOrderByList(UserOrderBy usersOrderBy) { var selectedOrder = new List <SelectListItem> { new SelectListItem { Text = "نام کاربری", Value = "UserName" }, new SelectListItem { Text = "شماره همراه", Value = "PhoneNumber" }, new SelectListItem { Text = "نقش", Value = "RoleDescription" } }; return(new SelectList(selectedOrder, "Value", "Text", usersOrderBy)); }
public virtual ActionResult DataTable(string term = "", int page = 0, int count = 10, Order order = Order.Descending, UserOrderBy orderBy = UserOrderBy.RegisterDate, UserSearchBy searchBy = UserSearchBy.UserName) { ViewBag.TERM = term; ViewBag.PAGE = page; ViewBag.COUNT = count; ViewBag.ORDER = order; ViewBag.ORDERBY = orderBy; ViewBag.SEARCHBY = searchBy; IList<UserDataTableModel> selectedUsers = _userService.GetDataTable(term, page, count, order, orderBy, searchBy); ViewBag.OrderByList = DropDownList.OrderList(order); ViewBag.CountList = DropDownList.CountList(count); var selectListOrderBy = new List<SelectListItem> { new SelectListItem {Value = "RegisterDate", Text = "تاریخ ثبت نام"}, new SelectListItem {Value = "UserName", Text = "نام کاربری"}, new SelectListItem {Value = "CommentCount", Text = "تعداد دیدگاه"}, new SelectListItem {Value = "PostCount", Text = "تعداد پست"}, new SelectListItem {Value = "IsBaned", Text = "وضعیت"}, new SelectListItem {Value = "LoginDate", Text = "تاریخ ورود"}, new SelectListItem {Value = "IP", Text = "IP"} }; ViewBag.OrderByItems = new SelectList(selectListOrderBy, "Value", "Text", orderBy); ViewBag.TotalRecords = (string.IsNullOrEmpty(term)) ? _userService.Count : selectedUsers.Count; // set avatar images for users AvatarImage.DefaultPath = Url.Content("~/Content/Images/user.gif"); AvatarImage.BasePath = Url.Content("~/Content/avatars/"); foreach (UserDataTableModel user in selectedUsers) { user.AvatarPath = AvatarImage.GetAvatarImage(user.UserName); } return PartialView(MVC.Admin.User.Views._DataTable, selectedUsers); }
public IEnumerable <User> GetUsers(string keyword, UserOrderBy uo) { using (var db = new LiteDatabase(ConnectionString)) { var col = db.GetCollection <User>("users"); var keywordToLower = keyword.ToLower(); Query query = null; if (!string.IsNullOrEmpty(keyword)) { query = Query.Contains("Username", keywordToLower); } switch (uo) { case UserOrderBy.UsernameAscending: if (query != null) { return(col.Find(Query.And(Query.All("Username"), query))); } else { return(col.Find(Query.All("Username"))); } case UserOrderBy.UsernameDescending: if (query != null) { return(col.Find(Query.And(Query.All("Username", Query.Descending), query))); } else { return(col.Find(Query.All("Username", Query.Descending))); } } return(new User[] {}); } }
public override IEnumerable <Core.Db.User> GetUsers(string keyword, UserOrderBy uo) { var col = _db.GetCollection <User>(Core.Db.User.DocumentName); var keywordToLower = keyword.ToLower(); Query query = null; if (!string.IsNullOrEmpty(keyword)) { query = Query.Contains("Username", keywordToLower); } switch (uo) { case UserOrderBy.UsernameAscending: if (query != null) { return(col.Find(Query.And(Query.All("Username"), query))); } else { return(col.Find(Query.All("Username"))); } case UserOrderBy.UsernameDescending: if (query != null) { return(col.Find(Query.And(Query.All("Username", Query.Descending), query))); } else { return(col.Find(Query.All("Username", Query.Descending))); } } return(new User[] { }); }
public IEnumerable <User> GetAdministrators(string keyword, UserOrderBy uo) { var col = _db.GetCollection <User>("users"); var keywordToLower = keyword.ToLower(); Query query = null; if (!string.IsNullOrEmpty(keyword)) { query = Query.And(Query.EQ("UserProfile", UserProfile.Administrator.ToString()), Query.Contains("Username", keywordToLower)); } switch (uo) { case UserOrderBy.UsernameAscending: if (query != null) { return(col.Find(Query.And(Query.All("Username"), query))); } else { return(col.Find(Query.And(Query.All("Username"), Query.EQ("UserProfile", UserProfile.Administrator.ToString())))); } case UserOrderBy.UsernameDescending: if (query != null) { return(col.Find(Query.And(Query.All("Username", Query.Descending), query))); } else { return(col.Find(Query.And(Query.All("Username", Query.Descending), Query.EQ("UserProfile", UserProfile.Administrator.ToString())))); } } return(new User[] { }); }
public abstract IEnumerable <User> GetUsers(string keyword, UserOrderBy uo);
public abstract IEnumerable <User> GetAdministrators(string keyword, UserOrderBy uo);
public List <User> listUsers(string search = "", string artistId = "", int currentPage = 0, int totalPerPage = 0, UserOrderBy orderBy = UserOrderBy.username) { IQueryable <User> rows = db.Users; if (!string.IsNullOrWhiteSpace(search)) { rows = rows.Where(x => x.username.Contains(search) || x.firstName.Contains(search)); } switch (orderBy) { case UserOrderBy.updatedAt: rows = rows.OrderByDescending(x => x.changedOn); break; case UserOrderBy.createdAt: rows = rows.OrderByDescending(x => x.createdOn); break; default: rows = rows.OrderBy(x => x.username); break; } if (totalPerPage > 0) { rows = rows.Skip(totalPerPage * currentPage).Take(totalPerPage); } List <User> result = null; try { result = rows.ToList(); } catch (Exception ex) { result = null; } return(result); }
public IList <UserDataTableModel> GetDataTable(string term, int page, int count, Order order, UserOrderBy orderBy, UserSearchBy searchBy) { IQueryable <User> selectedUsers = _users.Include(x => x.UserMetaData).Include(x => x.Role).AsQueryable(); if (!string.IsNullOrEmpty(term)) { switch (searchBy) { case UserSearchBy.UserName: selectedUsers = selectedUsers.Where(user => user.UserName.Contains(term)).AsQueryable(); break; case UserSearchBy.RoleDescription: selectedUsers = selectedUsers.Where(user => user.Role.Description.Contains(term)).AsQueryable(); break; case UserSearchBy.FirstName: selectedUsers = selectedUsers.Where(user => user.UserMetaData.FirstName.Contains(term)).AsQueryable(); break; case UserSearchBy.LastName: selectedUsers = selectedUsers.Where(user => user.UserMetaData.LastName.Contains(term)).AsQueryable(); break; case UserSearchBy.Email: selectedUsers = selectedUsers.Where(user => user.Email.Contains(term)).AsQueryable(); break; case UserSearchBy.Ip: selectedUsers = selectedUsers.Where(user => user.IP.Contains(term)).AsQueryable(); break; } } if (order == Order.Asscending) { switch (orderBy) { case UserOrderBy.UserName: selectedUsers = selectedUsers.OrderBy(user => user.UserName).AsQueryable(); break; case UserOrderBy.PostCount: selectedUsers = selectedUsers.OrderBy(user => user.Posts.Count).AsQueryable(); break; case UserOrderBy.CommentCount: selectedUsers = selectedUsers.OrderBy(user => user.Comments.Count).AsQueryable(); break; case UserOrderBy.RegisterDate: selectedUsers = selectedUsers.OrderBy(user => user.CreatedDate).AsQueryable(); break; case UserOrderBy.IsBaned: selectedUsers = selectedUsers.OrderBy(user => user.IsBaned).AsQueryable(); break; case UserOrderBy.LoginDate: selectedUsers = selectedUsers.OrderBy(user => user.LastLoginDate).AsQueryable(); break; case UserOrderBy.Ip: selectedUsers = selectedUsers.OrderBy(user => user.LastLoginDate).AsQueryable(); break; } } else { switch (orderBy) { case UserOrderBy.UserName: selectedUsers = selectedUsers.OrderByDescending(user => user.UserName).AsQueryable(); break; case UserOrderBy.PostCount: selectedUsers = selectedUsers.OrderByDescending(user => user.Posts.Count).AsQueryable(); break; case UserOrderBy.CommentCount: selectedUsers = selectedUsers.OrderByDescending(user => user.Comments.Count).AsQueryable(); break; case UserOrderBy.RegisterDate: selectedUsers = selectedUsers.OrderByDescending(user => user.CreatedDate).AsQueryable(); break; case UserOrderBy.IsBaned: selectedUsers = selectedUsers.OrderByDescending(user => user.IsBaned).AsQueryable(); break; case UserOrderBy.LoginDate: selectedUsers = selectedUsers.OrderByDescending(user => user.LastLoginDate).AsQueryable(); break; case UserOrderBy.Ip: selectedUsers = selectedUsers.OrderByDescending(user => user.LastLoginDate).AsQueryable(); break; } } return(selectedUsers.Skip(page * count).Take(count).Select(user => new UserDataTableModel { Email = user.Email, Id = user.Id, IsBaned = user.IsBaned, RoleDescription = user.Role.Description, UserName = user.UserName, FullName = user.UserMetaData.FirstName + " " + user.UserMetaData.LastName, CommentCount = user.Comments.Count, PostCount = user.Posts.Count, LastLoginDate = user.LastLoginDate, RegisterDate = user.CreatedDate }).ToList()); }
public virtual ActionResult DataTable(string term = "", int page = 0, int count = 10, Order order = Order.Descending, UserOrderBy orderBy = UserOrderBy.RegisterDate, UserSearchBy searchBy = UserSearchBy.UserName) { ViewBag.TERM = term; ViewBag.PAGE = page; ViewBag.COUNT = count; ViewBag.ORDER = order; ViewBag.ORDERBY = orderBy; ViewBag.SEARCHBY = searchBy; IList <UserDataTableModel> selectedUsers = _userService.GetDataTable(term, page, count, order, orderBy, searchBy); ViewBag.OrderByList = DropDownList.OrderList(order); ViewBag.CountList = DropDownList.CountList(count); var selectListOrderBy = new List <SelectListItem> { new SelectListItem { Value = "RegisterDate", Text = "تاریخ ثبت نام" }, new SelectListItem { Value = "UserName", Text = "نام کاربری" }, new SelectListItem { Value = "CommentCount", Text = "تعداد دیدگاه" }, new SelectListItem { Value = "PostCount", Text = "تعداد پست" }, new SelectListItem { Value = "IsBaned", Text = "وضعیت" }, new SelectListItem { Value = "LoginDate", Text = "تاریخ ورود" }, new SelectListItem { Value = "IP", Text = "IP" } }; ViewBag.OrderByItems = new SelectList(selectListOrderBy, "Value", "Text", orderBy); ViewBag.TotalRecords = (string.IsNullOrEmpty(term)) ? _userService.Count : selectedUsers.Count; // set avatar images for users AvatarImage.DefaultPath = Url.Content("~/Content/Images/user.gif"); AvatarImage.BasePath = Url.Content("~/Content/avatars/"); foreach (UserDataTableModel user in selectedUsers) { user.AvatarPath = AvatarImage.GetAvatarImage(user.UserName); } return(PartialView(MVC.Admin.User.Views._DataTable, selectedUsers)); }
public IList <UserViewModel> GetDataTable(out int total, string term, int page, int count, DomainClasses.Enums.Order order, UserOrderBy orderBy, UserSearchBy searchBy) { var selectedUsers = _users.AsNoTracking().Include(a => a.Role).AsQueryable(); if (!string.IsNullOrEmpty(term)) { switch (searchBy) { case UserSearchBy.UserName: selectedUsers = selectedUsers.Where(user => user.UserName.Contains(term)).AsQueryable(); break; case UserSearchBy.RoleDescription: selectedUsers = selectedUsers.Where(user => user.Role.Description.Contains(term)).AsQueryable(); break; case UserSearchBy.Ip: selectedUsers = selectedUsers.Where(user => user.IP.Contains(term)).AsQueryable(); break; } } if (order == DomainClasses.Enums.Order.Asscending) { switch (orderBy) { case UserOrderBy.UserName: selectedUsers = selectedUsers.OrderBy(user => user.UserName).AsQueryable(); break; case UserOrderBy.RegisterDate: selectedUsers = selectedUsers.OrderBy(user => user.RegisterDate).AsQueryable(); break; } } else { switch (orderBy) { case UserOrderBy.UserName: selectedUsers = selectedUsers.OrderByDescending(user => user.UserName).AsQueryable(); break; case UserOrderBy.RegisterDate: selectedUsers = selectedUsers.OrderByDescending(user => user.RegisterDate).AsQueryable(); break; } } var totalQuery = selectedUsers.FutureCount(); var selectQuery = selectedUsers.Skip((page - 1) * count).Take(count) .Select(a => new UserViewModel { RegisterType = a.RegisterType == UserRegisterType.Active ? "Active" : "DeActie", Baned = a.IsBaned, Id = a.Id, RoleDescritpion = a.Role.Description, BanedDate = a.BanedDate, Email = a.Email, IP = a.IP, LastLoginDate = a.LastLoginDate, RegisterDate = a.RegisterDate, UserName = a.UserName, ProfessorData = a.ProfessorData, StudentData = a.StudentData }).Future(); total = totalQuery.Value; var users = selectQuery.ToList(); return(users); }
public IList <DetailsUserViewModel> GetDataTable(out int total, string term, int page, int count, DomainClasses.Enums.Order order, UserOrderBy orderBy, UserSearchBy searchBy) { var selectedUsers = _users.AsNoTracking().Include(a => a.Roles).AsQueryable(); //var selectedRole = _roleManager.FindRoleByName(""); if (!string.IsNullOrEmpty(term)) { switch (searchBy) { case UserSearchBy.UserName: selectedUsers = selectedUsers.Where(user => user.UserName.Contains(term)).AsQueryable(); break; //case UserSearchBy.RoleDescription: // selectedUsers = selectedUsers.Where(user => user.Role.Description.Contains(term)).AsQueryable(); // break; case UserSearchBy.PhoneNumber: selectedUsers = selectedUsers.Where(user => user.PhoneNumber.Contains(term)).AsQueryable(); break; } } if (order == Order.Asscending) { switch (orderBy) { case UserOrderBy.UserName: selectedUsers = selectedUsers.OrderBy(user => user.UserName).AsQueryable(); break; case UserOrderBy.PhoneNumber: selectedUsers = selectedUsers.OrderBy(user => user.PhoneNumber).AsQueryable(); break; case UserOrderBy.RoleDescription: selectedUsers = selectedUsers.OrderBy(user => user.RegisterDate).AsQueryable(); break; } } else { switch (orderBy) { case UserOrderBy.UserName: selectedUsers = selectedUsers.OrderByDescending(user => user.UserName).AsQueryable(); break; case UserOrderBy.PhoneNumber: selectedUsers = selectedUsers.OrderBy(user => user.PhoneNumber).AsQueryable(); break; case UserOrderBy.RoleDescription: selectedUsers = selectedUsers.OrderByDescending(user => user.RegisterDate).AsQueryable(); break; } } var totalQuery = selectedUsers.Count(); var selectQuery = selectedUsers.Skip((page - 1) * count).Take(count) .ProjectTo <DetailsUserViewModel>(Market.AutoMapperConfig.Configuration.MapperConfiguration); total = totalQuery; return(selectQuery.ToList()); }
public abstract UserCollection GetUsers(int userID, UserOrderBy orderByField, int pageNmuber, int pageSize, out int userSortNumber);
public IList<UserDataTableModel> GetDataTable(string term, int page, int count, Order order, UserOrderBy orderBy, UserSearchBy searchBy) { IQueryable<User> selectedUsers = _users.Include(x => x.UserMetaData).Include(x => x.Role).AsQueryable(); if (!string.IsNullOrEmpty(term)) { switch (searchBy) { case UserSearchBy.UserName: selectedUsers = selectedUsers.Where(user => user.UserName.Contains(term)).AsQueryable(); break; case UserSearchBy.RoleDescription: selectedUsers = selectedUsers.Where(user => user.Role.Description.Contains(term)).AsQueryable(); break; case UserSearchBy.FirstName: selectedUsers = selectedUsers.Where(user => user.UserMetaData.FirstName.Contains(term)).AsQueryable(); break; case UserSearchBy.LastName: selectedUsers = selectedUsers.Where(user => user.UserMetaData.LastName.Contains(term)).AsQueryable(); break; case UserSearchBy.Email: selectedUsers = selectedUsers.Where(user => user.Email.Contains(term)).AsQueryable(); break; case UserSearchBy.Ip: selectedUsers = selectedUsers.Where(user => user.IP.Contains(term)).AsQueryable(); break; } } if (order == Order.Asscending) { switch (orderBy) { case UserOrderBy.UserName: selectedUsers = selectedUsers.OrderBy(user => user.UserName).AsQueryable(); break; case UserOrderBy.PostCount: selectedUsers = selectedUsers.OrderBy(user => user.Posts.Count).AsQueryable(); break; case UserOrderBy.CommentCount: selectedUsers = selectedUsers.OrderBy(user => user.Comments.Count).AsQueryable(); break; case UserOrderBy.RegisterDate: selectedUsers = selectedUsers.OrderBy(user => user.CreatedDate).AsQueryable(); break; case UserOrderBy.IsBaned: selectedUsers = selectedUsers.OrderBy(user => user.IsBaned).AsQueryable(); break; case UserOrderBy.LoginDate: selectedUsers = selectedUsers.OrderBy(user => user.LastLoginDate).AsQueryable(); break; case UserOrderBy.Ip: selectedUsers = selectedUsers.OrderBy(user => user.LastLoginDate).AsQueryable(); break; } } else { switch (orderBy) { case UserOrderBy.UserName: selectedUsers = selectedUsers.OrderByDescending(user => user.UserName).AsQueryable(); break; case UserOrderBy.PostCount: selectedUsers = selectedUsers.OrderByDescending(user => user.Posts.Count).AsQueryable(); break; case UserOrderBy.CommentCount: selectedUsers = selectedUsers.OrderByDescending(user => user.Comments.Count).AsQueryable(); break; case UserOrderBy.RegisterDate: selectedUsers = selectedUsers.OrderByDescending(user => user.CreatedDate).AsQueryable(); break; case UserOrderBy.IsBaned: selectedUsers = selectedUsers.OrderByDescending(user => user.IsBaned).AsQueryable(); break; case UserOrderBy.LoginDate: selectedUsers = selectedUsers.OrderByDescending(user => user.LastLoginDate).AsQueryable(); break; case UserOrderBy.Ip: selectedUsers = selectedUsers.OrderByDescending(user => user.LastLoginDate).AsQueryable(); break; } } return selectedUsers.Skip(page * count).Take(count).Select(user => new UserDataTableModel { Email = user.Email, Id = user.Id, IsBaned = user.IsBaned, RoleDescription = user.Role.Description, UserName = user.UserName, FullName = user.UserMetaData.FirstName + " " + user.UserMetaData.LastName, CommentCount = user.Comments.Count, PostCount = user.Posts.Count, LastLoginDate = user.LastLoginDate, RegisterDate = user.CreatedDate }).ToList(); }
public IList <UserViewModel> GetDataTable(out int total, string term, int page, int count, DomainClasses.Enums.Order order, UserOrderBy orderBy, UserSearchBy searchBy) { var selectedUsers = _users.AsNoTracking().Include(a => a.Role).AsQueryable(); if (!string.IsNullOrEmpty(term)) { switch (searchBy) { case UserSearchBy.UserName: selectedUsers = selectedUsers.Where(user => user.UserName.Contains(term)).AsQueryable(); break; case UserSearchBy.RoleDescription: selectedUsers = selectedUsers.Where(user => user.Role.Description.Contains(term)).AsQueryable(); break; case UserSearchBy.PhoneNumber: selectedUsers = selectedUsers.Where(user => user.PhoneNumber.Contains(term)).AsQueryable(); break; case UserSearchBy.Ip: selectedUsers = selectedUsers.Where(user => user.IP.Contains(term)).AsQueryable(); break; } } if (order == DomainClasses.Enums.Order.Asscending) { switch (orderBy) { case UserOrderBy.UserName: selectedUsers = selectedUsers.OrderBy(user => user.UserName).AsQueryable(); break; case UserOrderBy.OrderCount: selectedUsers = selectedUsers.OrderBy(user => user.Orders.Count).AsQueryable(); break; case UserOrderBy.RegisterDate: selectedUsers = selectedUsers.OrderBy(user => user.RegisterDate).AsQueryable(); break; } } else { switch (orderBy) { case UserOrderBy.UserName: selectedUsers = selectedUsers.OrderByDescending(user => user.UserName).AsQueryable(); break; case UserOrderBy.OrderCount: selectedUsers = selectedUsers.OrderByDescending(user => user.Orders.Count).AsQueryable(); break; case UserOrderBy.RegisterDate: selectedUsers = selectedUsers.OrderByDescending(user => user.RegisterDate).AsQueryable(); break; } } var totalQuery = selectedUsers.FutureCount(); var selectQuery = selectedUsers.Skip((page - 1) * count).Take(count) .Select(a => new UserViewModel { UserName = a.UserName, FullName = a.FirstName + " " + a.LastName, PhoneNumber = a.PhoneNumber, RegisterType = a.RegisterType == UserRegisterType.Active ? "خرید کرده" : "خرید نکرده", Baned = a.IsBaned, CommentCount = a.Comments.Count, Id = a.Id, OrderCount = a.Orders.Count, RoleDescritpion = a.Role.Description }).Future(); total = totalQuery.Value; var users = selectQuery.ToList(); return(users); }