public virtual ActionResult AutoCompleteSearch(string term, UserSearchBy searchBy = UserSearchBy.UserName) { IList <string> data = new List <string>(); switch (searchBy) { case UserSearchBy.UserName: data = _userService.SearchByUserName(term); break; case UserSearchBy.FirstName: data = _userService.SearchByFirstName(term); break; case UserSearchBy.LastName: data = _userService.SearchByLastName(term); break; case UserSearchBy.Email: data = _userService.SearchByEmail(term); break; case UserSearchBy.Ip: data = _userService.SearchByIP(term); break; case UserSearchBy.RoleDescription: data = _userService.SearchByRoleDescription(term); break; } return(Json(data.Select(x => new { label = x }).ToList() , JsonRequestBehavior.AllowGet)); }
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)); }
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 static SelectList GetUserSearchByList(UserSearchBy userSearchBy) { var selectedUserSearchBy = new List <SelectListItem> { new SelectListItem { Text = "UserName", Value = "UserName" }, //new SelectListItem {Text = "PhoneNumber", Value = "PhoneNumber"}, //new SelectListItem {Text = "Ip", Value = "Ip"}, new SelectListItem { Text = "RoleDescription", Value = "RoleDescription" } }; return(new SelectList(selectedUserSearchBy, "Value", "Text", userSearchBy)); }
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 <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.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<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); }
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 virtual ActionResult AutoCompleteSearch(string term, UserSearchBy searchBy = UserSearchBy.UserName) { IList<string> data = new List<string>(); switch (searchBy) { case UserSearchBy.UserName: data = _userService.SearchByUserName(term); break; case UserSearchBy.FirstName: data = _userService.SearchByFirstName(term); break; case UserSearchBy.LastName: data = _userService.SearchByLastName(term); break; case UserSearchBy.Email: data = _userService.SearchByEmail(term); break; case UserSearchBy.Ip: data = _userService.SearchByIP(term); break; case UserSearchBy.RoleDescription: data = _userService.SearchByRoleDescription(term); break; } return Json(data.Select(x => new { label = x }).ToList() , JsonRequestBehavior.AllowGet); }