Ejemplo n.º 1
0
 public UserManageModel(PagingResult <PersonView> pagingResult, string search, RoleFilterType roleFilter)
 {
     PagingResult         = pagingResult;
     Search               = search;
     RoleFilter           = roleFilter;
     this.SelectListItems = EnumUitls.ToSelectListItems <RoleFilterType>(false);
 }
Ejemplo n.º 2
0
        public async Task <IActionResult> Manage(int page = 1, string search = "", RoleFilterType roleFilter = RoleFilterType.All)
        {
            PagingResult <PersonView> result = await this.personService.SearchAsync(search, page, roleFilter, Library.Enums.SearchType.ALL);

            UserManageModel model = new UserManageModel(result, search, roleFilter);

            return(View(model));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 搜索用户
        /// </summary>
        public async Task <PagingResult <PersonView> > SearchAsync(string text, SearchType searchType = SearchType.Visible, RoleFilterType roleFilter = RoleFilterType.All, int currentPage = 1, int pageSize = 10)
        {
            SqlBuilder builder = new SqlBuilder();

            builder.AppendToEnd("from person_view where");
            builder.AppendToEnd("(account_name like @p1 or nick_name like @p1)").AddParameter("p1", "%" + text + "%");
            switch (searchType)
            {
            case SearchType.Visible:
                builder.AppendToEnd(" and is_delete is false");
                break;

            case SearchType.Hide:
                builder.AppendToEnd(" and is_delete is true");
                break;
            }
            switch (roleFilter)
            {
            case RoleFilterType.Admin:
                builder.AppendToEnd("and role_type = @roleType").AddParameter("roleType", RoleType.Admin);
                break;

            case RoleFilterType.Master:
                builder.AppendToEnd("and role_type = @roleType").AddParameter("roleType", RoleType.Master);
                break;

            case RoleFilterType.User:
                builder.AppendToEnd("and role_type = @roleType").AddParameter("roleType", RoleType.User);
                break;
            }
            builder.AppendToEnd("and role_type != @SuperAdminType").AddParameter("SuperAdminType", RoleType.SuperAdmin);
            SqlBuilder countBuiler = builder.Clone() as SqlBuilder;

            countBuiler.InsertToStart("select count(*)");
            long count = await this.connection.ScalarAsync <long>(countBuiler);

            builder.AppendToEnd("order by create_time desc");
            builder.SetPaging(currentPage, pageSize);
            builder.InsertToStart("select *");
            List <PersonView> personViews = await this.connection.SelectAsync <PersonView>(builder);

            return(new PagingResult <PersonView>(currentPage, pageSize, count, personViews));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 搜索用户
        /// </summary>
        public async Task <PagingResult <PersonView> > SearchAsync(string text, int currentPage, RoleFilterType roleFilter = RoleFilterType.All, SearchType searchType = SearchType.Visible)
        {
            using (var work = this.dbFactory.StartWork())
            {
                PageConfig config = await work.Config.GetConfigAsync <PageConfig>();

                return(await work.PersonView.SearchAsync(text, searchType, roleFilter, currentPage, config.PageSize));
            }
        }