Esempio n. 1
0
        object list_with_permission(string parentId)
        {
            var site = (Site)jc["site"];

            #region 校验用户对站点的权限

            var relation = (from q in SiteUsers.CreateContext()
                            where q.UserId == jc.UserName && q.SiteId == site.Id
                            select q).FirstOrDefault();

            //如果没有站点的管理权限
            if (relation == null)
            {
                return new { code = 403, msg = "没有权限访问" }
            }
            ;

            #endregion

            WebQuery qc = new WebQuery();
            qc.Id = "category.list.permission";
            qc.LoadCondidtion();
            qc.NoPaging();

            #region 加载参数

            qc["parentId"] = string.IsNullOrWhiteSpace(parentId) ? string.Empty : parentId;

            qc["site"]   = site.Id;
            qc["userId"] = jc.UserName;

            #endregion

            var dt = CategoryUsers.GetDataTable(qc);

            var data = new ArrayList();
            foreach (DataRow item in dt.Rows)
            {
                data.Add(new
                {
                    id       = item["id"].ToString(),
                    name     = item["title"].ToString(),
                    isParent = item["hasChildren"].ToBoolean()
                });
            }

            return(data);
        }
Esempio n. 2
0
        object category_list(string userId, string title)
        {
            var site = (Site)jc["site"];
            var user = User.Get(userId);

            if (user == null)
            {
                return new { code = -1, msg = "指定的用户不存在" }
            }
            ;

            WebQuery q = new WebQuery();

            q.Id = "users.category.list";
            q.LoadCondidtion();

            q["siteId"] = site.Id;
            q["userId"] = user.Id;

            if (!string.IsNullOrEmpty(title))
            {
                q["title"] = title;
            }

            q.TotalCount = CategoryUsers.Count(q);
            if (q.PageIndex1 > q.PageCount)
            {
                q.PageIndex = Math.Max(q.PageCount - 1, 0);
            }

            var dt   = CategoryUsers.GetDataTable(q);
            var data = new ArrayList();

            foreach (DataRow item in dt.Rows)
            {
                data.Add(new
                {
                    id             = item["id"].ToString(),
                    category_title = item["title"].ToString(),
                    post_count     = item["postCount"].ToInt(),
                    date_created   = item["dateCreated"].ToDateTime(),
                });
            }

            return(new
            {
                code = 1,
                user = new
                {
                    id = user.Id,
                    display_name = user.DisplayName
                },
                data = data,
                paging = new
                {
                    total_count = q.TotalCount,
                    page_size = q.PageSize,
                    page_index = q.PageIndex1
                },
                orderbys = q.orderbys
            });
        }