Exemple #1
0
        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));
 }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        /// <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[] { });
        }
Exemple #5
0
        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[] { });
        }
Exemple #6
0
        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;
                }
            }
        }
Exemple #7
0
 /// <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[] { });
     }
 }
Exemple #8
0
        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));
        }
Exemple #9
0
        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[] { });
        }
Exemple #10
0
 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>());
     }
 }
Exemple #11
0
        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));
        }
Exemple #12
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);
        }
Exemple #13
0
        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[] {});
            }
        }
Exemple #14
0
        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[] { });
        }
Exemple #15
0
        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[] { });
        }
Exemple #16
0
 public abstract IEnumerable <User> GetUsers(string keyword, UserOrderBy uo);
Exemple #17
0
 public abstract IEnumerable <User> GetAdministrators(string keyword, UserOrderBy uo);
Exemple #18
0
        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);
        }
Exemple #19
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());
        }
Exemple #20
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));
        }
Exemple #21
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);
        }
Exemple #22
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());
        }
Exemple #23
0
 public abstract UserCollection GetUsers(int userID, UserOrderBy orderByField, int pageNmuber, int pageSize, out int userSortNumber);
Exemple #24
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();
        }
Exemple #25
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);
        }