Example #1
0
        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));
 }
Example #3
0
        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));
        }
Example #4
0
        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));
        }
Example #5
0
        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);
        }
Example #6
0
        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());
        }
Example #7
0
        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);
        }
Example #8
0
        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();
        }
Example #9
0
        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);
        }
Example #10
0
        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());
        }
Example #11
0
        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);
        }