public ActionResult ManageComments(AuditStatus?auditStatus = null, string tenantTypeId = null, string userId = null, DateTime?startDate = null, DateTime?endDate = null, int pageSize = 20, int pageIndex = 1)
        {
            pageResourceManager.InsertTitlePart("评论管理");
            long?userId2 = null;

            if (!string.IsNullOrEmpty(userId))
            {
                userId = userId.Trim(',');
                if (!string.IsNullOrEmpty(userId))
                {
                    userId2 = long.Parse(userId);
                }
            }

            if (endDate.HasValue)
            {
                endDate = endDate.Value.AddDays(1);
            }



            ViewData["tenants"] = GetTenantSelectList(MultiTenantServiceKeys.Instance().Comment(), tenantTypeId);
            ViewData["userId"]  = userId2;
            PagingDataSet <Comment> comments = commentService.GetComments((PubliclyAuditStatus?)auditStatus, tenantTypeId, userId2, startDate, endDate, pageSize, pageIndex);

            return(View(comments));
        }
Exemple #2
0
 /// <summary>
 /// 分页获取群组后台管理列表
 /// </summary>
 /// <param name="auditStatus">审核状态</param>
 /// <param name="categoryId">类别Id</param>
 /// <param name="keywords">名称关键字</param>
 /// <param name="ownerUserId">群主</param>
 /// <param name="minDateTime">创建时间下限值</param>
 /// <param name="maxDateTime">创建时间上限值</param>
 /// <param name="minMemberCount">成员数量下限值</param>
 /// <param name="maxMemberCount">成员数量上限值</param>
 /// <param name="pageSize">每页记录数</param>
 /// <param name="pageIndex">页码</param>
 /// <returns></returns>
 public PagingDataSet <GroupEntity> GetsForAdmin(AuditStatus?auditStatus, long?categoryId, string keywords, long?ownerUserId, DateTime?minDateTime, DateTime?maxDateTime, int?minMemberCount, int?maxMemberCount, int pageSize = 20, int pageIndex = 1)
 {
     //设计要点
     //1、查询categoryId时需要包含后代类别;
     //2、不用缓存
     return(groupRepository.GetsForAdmin(auditStatus, categoryId, keywords, ownerUserId, minDateTime, maxDateTime, minMemberCount, maxMemberCount, pageSize, pageIndex));
 }
        public async Task <IActionResult> GetAllAudios(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "audio")] HttpRequest req)
        {
            var pageNumber = req.GetQuery("pageNumber");
            var pageSize   = req.GetQuery("pageSize");
            var issue      = req.GetQuery("issue");
            var status     = req.GetQuery("status");

            Issue?      iss         = null;
            AuditStatus?auditStatus = null;

            if (!string.IsNullOrEmpty(issue))
            {
                if (Enum.TryParse <Issue>(issue, true, out var value))
                {
                    iss = value;
                }
            }

            if (!string.IsNullOrEmpty(status))
            {
                if (Enum.TryParse <AuditStatus>(status, true, out var value))
                {
                    auditStatus = value;
                }
            }

            if (!int.TryParse(pageNumber, out var pn) || !int.TryParse(pageSize, out var ps))
            {
                return(new BadRequestResult());
            }

            return(new OkObjectResult(await _audioService.GetPagedAudiosAsync(pn, ps, iss, auditStatus)));
        }
Exemple #4
0
        public async Task <List <Article> > GetListAsync(
            Guid?userId            = null,
            bool?hasFile           = null,
            bool?hasVideo          = null,
            bool?isFree            = null,
            bool?isActive          = null,
            AuditStatus?status     = null,
            Guid?categoryId        = null,
            Guid?userCategoryId    = null,
            DateTime?createdAfter  = null,
            DateTime?createdBefore = null,
            string filter          = null,
            int maxResultCount     = 10,
            int skipCount          = 0,
            string sorting         = null,
            CancellationToken cancellationToken = default
            )
        {
            var query = await GetListQuery(userId, hasFile, hasVideo, isFree, isActive, status, categoryId, userCategoryId, createdAfter, createdBefore, filter);

            var list = await query.OrderBy(sorting ?? "creationTime desc")
                       .PageBy(skipCount, maxResultCount)
                       .ToListAsync(GetCancellationToken(cancellationToken));

            return(list);
        }
        public ActionResult ManageContentItems(AuditStatus?auditStatus = null, int?folderId = null, string subjectKeyWord = null, string tagNameKeyword = null, string userId = null, DateTime?minDate = null, DateTime?maxDate = null, int pageSize = 20, int pageIndex = 1)
        {
            long?id = null;

            if (!string.IsNullOrEmpty(userId))
            {
                userId = userId.Trim(',');
                if (!string.IsNullOrEmpty(userId))
                {
                    id = long.Parse(userId);
                }
            }
            ViewData["userId"] = id;
            ContentFolder contentFolder = null;

            if (folderId.HasValue && folderId.Value > 0)
            {
                contentFolder = contentFolderService.Get(folderId.Value);
            }
            ViewData["ContentFolder"] = contentFolder;
            var contentTypes = new MetadataService().GetContentTypes(true);

            ViewData["ContentTypes"] = contentTypes;
            PagingDataSet <ContentItem> items = contentItemService.GetContentItemsForAdmin(auditStatus, subjectKeyWord, folderId, true, tagNameKeyword: tagNameKeyword, userId: id, minDate: minDate, maxDate: maxDate, pageSize: pageSize, pageIndex: pageIndex);

            pageResourceManager.InsertTitlePart("资讯管理");
            return(View(items));
        }
Exemple #6
0
 /// <summary>
 /// 解析审核状态变化前后是否会对其他数据产生正向还负向的影响(例如:是该加积分,还是减积分)
 /// </summary>
 /// <remarks>该方法仅针对于管理员通过审核或不通过审核的情况</remarks>
 /// <param name="oldAuditStatus">变化前的审核状态(若是创建操作,请赋值为null)</param>
 /// <param name="newAuditStatus">变化后的审核状态(若是删除操作,请赋值为null)</param>
 /// <returns>true-正影响,false-负影响,null-未产生影响</returns>
 public bool?ResolveAuditDirection(AuditStatus?oldAuditStatus, AuditStatus?newAuditStatus)
 {
     if (oldAuditStatus == null && newAuditStatus == AuditStatus.Success)
     {
         return(true);
     }
     if (oldAuditStatus == AuditStatus.Pending && newAuditStatus == AuditStatus.Success)
     {
         return(true);
     }
     if (oldAuditStatus == AuditStatus.Fail && newAuditStatus == AuditStatus.Success)
     {
         return(true);
     }
     if (oldAuditStatus == AuditStatus.Success && newAuditStatus == AuditStatus.Fail)
     {
         return(false);
     }
     if (oldAuditStatus == AuditStatus.Again && newAuditStatus == AuditStatus.Fail)
     {
         return(false);
     }
     if (oldAuditStatus == AuditStatus.Again && newAuditStatus == null)
     {
         return(false);
     }
     if (oldAuditStatus == AuditStatus.Success && newAuditStatus == null)
     {
         return(false);
     }
     return(null);
 }
        /// <summary>
        /// 条件查找投票
        /// </summary>
        /// <param name="auditStatus"></param>
        /// <param name="voteId"></param>
        /// <param name="subjectKeyword"></param>
        /// <param name="userId"></param>
        /// <param name="minDate"></param>
        /// <param name="maxDate"></param>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <returns></returns>
        public PagingDataSet <VoteThread> GetVoteThreads(AuditStatus?auditStatus = null, long?voteId = null, string subjectKeyword = null, long?userId = null, DateTime?minDate = null, DateTime?maxDate = null, int pageSize = 20, int pageIndex = 1)
        {
            var sql      = Sql.Builder.Select("spb_VoteThreads.Id").From("spb_VoteThreads");
            var whereSql = Sql.Builder;

            if (auditStatus.HasValue)
            {
                whereSql.Where("spb_VoteThreads.AuditStatus=@0", auditStatus.Value);
            }
            if (userId.HasValue)
            {
                whereSql.Where("spb_VoteThreads.userId=@0", userId);
            }
            if (!string.IsNullOrEmpty(subjectKeyword))
            {
                whereSql.Where("spb_VoteThreads.title like @0", "%" + StringUtility.StripSQLInjection(subjectKeyword) + "%");
            }
            if (minDate != null)
            {
                whereSql.Where("spb_VoteThreads.DATECREATED >= @0", minDate);
            }
            DateTime max = DateTime.Now;

            if (maxDate != null)
            {
                max = maxDate.Value.AddDays(1);
            }
            whereSql.Where("spb_VoteThreads.DATECREATED < @0", max);
            sql.Append(whereSql).OrderBy("spb_VoteThreads.Id desc");
            return(GetPagingEntities(pageSize, pageIndex, sql));
        }
Exemple #8
0
 protected IQueryable <Review> GetListQuery(
     Guid?userId        = null,
     string moduleName  = null,
     string subjectId   = null,
     Guid?parentId      = null,
     Guid?rootId        = null,
     AuditStatus?status = null,
     string filter      = null,
     bool filterParent  = false
     )
 {
     return(DbSet
            .WhereIf(userId.HasValue, e => e.UserId == userId)
            .WhereIf(!moduleName.IsNullOrEmpty(), e => e.ModuleName == moduleName)
            .WhereIf(!subjectId.IsNullOrEmpty(), e => e.SubjectId == subjectId)
            .WhereIf(!filterParent && parentId.HasValue, e => e.ParentId == parentId)
            .WhereIf(filterParent, e => !e.ParentId.HasValue)
            .WhereIf(rootId.HasValue, e => e.RootId == rootId)
            .WhereIf(status.HasValue, e => e.Status == status)
            .WhereIf(!string.IsNullOrEmpty(filter),
                     e => false ||
                     e.Content.Contains(filter) ||
                     e.AuditRemark.Contains(filter)
                     ));
 }
Exemple #9
0
 protected async Task <IQueryable <Article> > GetListQuery(
     Guid?userId            = null,
     bool?hasFile           = null,
     bool?hasVideo          = null,
     bool?isFree            = null,
     bool?isActive          = null,
     AuditStatus?status     = null,
     Guid?categoryId        = null,
     Guid?userCategoryId    = null,
     DateTime?createdAfter  = null,
     DateTime?createdBefore = null,
     string filter          = null,
     bool includeDetails    = false
     )
 {
     return((await GetQueryableAsync())
            .WhereIf(userId.HasValue, e => e.CreatorId == userId)
            .WhereIf(hasFile.HasValue, e => !string.IsNullOrEmpty(e.File))
            .WhereIf(hasVideo.HasValue, e => !string.IsNullOrEmpty(e.Video))
            .WhereIf(isFree.HasValue, e => e.IsFree == isFree)
            .WhereIf(isActive.HasValue, e => e.IsActive == isActive)
            .WhereIf(status.HasValue, e => e.Status == status)
            .WhereIf(categoryId.HasValue, e => e.Categories.Any(x => x.CategoryId == categoryId))
            .WhereIf(userCategoryId.HasValue, e => e.UserCategoryId == userCategoryId)
            .WhereIf(createdAfter.HasValue, e => e.CreationTime >= createdAfter)
            .WhereIf(createdBefore.HasValue, e => e.CreationTime <= createdBefore)
            .WhereIf(!string.IsNullOrEmpty(filter),
                     e => false ||
                     e.Title.Contains(filter) ||
                     e.Description.Contains(filter)
                     ));
 }
Exemple #10
0
        /// <summary>
        /// 分页获取群组后台管理列表
        /// </summary>
        /// <param name="auditStatus">审核状态</param>
        /// <param name="categoryId">类别Id</param>
        /// <param name="keywords">名称关键字</param>
        /// <param name="ownerUserId">群主</param>
        /// <param name="minDateTime">创建时间下限值</param>
        /// <param name="maxDateTime">创建时间上限值</param>
        /// <param name="minMemberCount">成员数量下限值</param>
        /// <param name="maxMemberCount">成员数量上限值</param>
        /// <param name="pageSize">每页记录数</param>
        /// <param name="pageIndex">页码</param>
        /// <returns></returns>
        public PagingDataSet <GroupEntity> GetsForAdmin(AuditStatus?auditStatus = null, long?categoryId = null, string keywords = null, long?ownerUserId = null, DateTime?minDateTime = null, DateTime?maxDateTime = null, int?minMemberCount = null, int?maxMemberCount = null, int pageSize = 20, int pageIndex = 1)
        {
            Sql sql = Sql.Builder;

            sql.Select("*").From("spb_Groups");

            if (categoryId != null && categoryId.Value > 0)
            {
                CategoryService        categoryService = new CategoryService();
                IEnumerable <Category> categories      = categoryService.GetDescendants(categoryId.Value);
                List <long>            categoryIds     = new List <long> {
                    categoryId.Value
                };
                if (categories != null && categories.Count() > 0)
                {
                    categoryIds.AddRange(categories.Select(n => n.CategoryId));
                }
                sql.InnerJoin("tn_ItemsInCategories")
                .On("spb_Groups.GroupId = tn_ItemsInCategories.ItemId");
                sql.Where("tn_ItemsInCategories.CategoryId in(@categoryIds)", new { categoryIds = categoryIds });
            }

            if (auditStatus.HasValue)
            {
                //ok
                sql.Where("AuditStatus = @0", auditStatus);
            }

            if (!string.IsNullOrEmpty(keywords))
            {
                sql.Where("spb_Groups.GroupName like @0", "%" + StringUtility.StripSQLInjection(keywords) + "%");
            }
            if (ownerUserId.HasValue)
            {
                sql.Where("spb_Groups.UserId = @0", ownerUserId);
            }
            if (minDateTime.HasValue)
            {
                sql.Where("DateCreated >= @0", minDateTime.Value.Date);
            }
            if (maxDateTime.HasValue)
            {
                sql.Where("DateCreated < @0", maxDateTime.Value.Date.AddDays(1));
            }

            if (minMemberCount.HasValue)
            {
                sql.Where("MemberCount >= @0", minMemberCount);
            }
            if (maxMemberCount.HasValue)
            {
                sql.Where("MemberCount <= @0", maxMemberCount);
            }

            //已修改
            sql.OrderBy("DateCreated desc");
            return(GetPagingEntities(pageSize, pageIndex, sql));
        }
Exemple #11
0
        /// <summary>
        /// 词条后台管理
        /// </summary>
        /// <param name="siteUrls"></param>
        /// <param name="auditStatus">审核状态</param>
        public static string WikiPageControlPanelManage(this SiteUrls siteUrls, AuditStatus?auditStatus = null)
        {
            RouteValueDictionary dic = new RouteValueDictionary();

            if (auditStatus.HasValue)
            {
                dic.Add("auditStatus", auditStatus);
            }
            return(CachedUrlHelper.Action("ManagePages", "ControlPanelWiki", WikiAreaName, dic));
        }
Exemple #12
0
 public async Task <List <Review> > GetByRootAsync(List <Guid> rootIds, AuditStatus?status = null, CancellationToken cancellationToken = default)
 {
     return(await DbSet.AsNoTracking()
            .Where(q => rootIds.Contains(q.RootId.Value))
            .WhereIf(status.HasValue,
                     e => false ||
                     e.Status == status
                     )
            .ToListAsync(GetCancellationToken(cancellationToken)));
 }
        public static string ManageTopics(this SiteUrls siteUrls, AuditStatus?auditStatus = null)
        {
            RouteValueDictionary dictionary = new RouteValueDictionary();

            if (auditStatus.HasValue)
            {
                dictionary.Add("auditStatus", auditStatus);
            }
            return(CachedUrlHelper.Action("ManageTopics", "ControlPanelTopic", TopicAreaName, dictionary));
        }
Exemple #14
0
        /// <summary>
        /// 问题后台管理
        /// </summary>
        /// <param name="siteUrls"></param>
        /// <param name="auditStatus">审核状态</param>
        public static string AskQuestionControlPanelManage(this SiteUrls siteUrls, AuditStatus?auditStatus = null)
        {
            RouteValueDictionary dic = new RouteValueDictionary();

            if (auditStatus.HasValue)
            {
                dic.Add("auditStatus", auditStatus);
            }

            return(CachedUrlHelper.Action("ManageQuestions", "ControlPanelAsk", AskAreaName, dic));
        }
Exemple #15
0
        /// <summary>
        /// 管理词条版本
        /// </summary>
        /// <param name="siteUrls"></param>
        /// <returns></returns>
        public static string ManageVersion(this SiteUrls siteUrls, AuditStatus?auditStatus = null)
        {
            RouteValueDictionary routeValueDictionary = new RouteValueDictionary();

            if (auditStatus != null)
            {
                routeValueDictionary.Add("auditStatus", auditStatus);
            }

            return(CachedUrlHelper.Action("ManageVersions", "ControlPanelWiki", WikiAreaName, routeValueDictionary));
        }
Exemple #16
0
        /// <summary>
        /// 资讯前台管理
        /// </summary>
        /// <param name="siteUrls"></param>
        /// <param name="auditStatus">审核状态</param>
        /// <param name="folderId"></param>
        public static string ChannelManageContentItems(this SiteUrls siteUrls, AuditStatus?auditStatus = null, int?folderId = null)
        {
            RouteValueDictionary dic = new RouteValueDictionary();

            if (auditStatus.HasValue)
            {
                dic.Add("auditStatus", auditStatus);
            }
            if (folderId.HasValue && folderId.Value > 0)
            {
                dic.Add("folderId", folderId);
            }
            return(CachedUrlHelper.Action("ManageContentItems", "ChannelCms", CmsAreaName, dic));
        }
        /// <summary>
        /// 词条版本管理
        /// </summary>
        /// <param name="auditStatus"></param>
        /// <param name="categoryId"></param>
        /// <param name="userId"></param>
        /// <param name="titleKeywords"></param>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <returns></returns>
        public ActionResult ManageVersions(AuditStatus?auditStatus = null, long?categoryId = null, long?userId = null, string titleKeywords = null, int pageSize = 20, int pageIndex = 1)
        {
            pageResourceManager.InsertTitlePart("词条版本管理");

            PagingDataSet <WikiPageVersion> wikiPageList = wikiService.GetPageVersionsForAdmin(TenantTypeIds.Instance().Wiki(), auditStatus, categoryId, userId, titleKeywords, pageSize, pageIndex);


            //获取类别
            IEnumerable <Category> categorys    = categoryService.GetOwnerCategories(0, TenantTypeIds.Instance().WikiPage());
            SelectList             categoryList = new SelectList(categorys.Select(n => new { text = n.CategoryName, value = n.CategoryId }), "value", "text", categoryId);

            ViewData["categoryList"] = categoryList;

            return(View(wikiPageList));
        }
Exemple #18
0
        public async Task <long> GetCountAsync(
            Guid?userId        = null,
            string moduleName  = null,
            string subjectId   = null,
            Guid?parentId      = null,
            Guid?rootId        = null,
            AuditStatus?status = null,
            string filter      = null,
            bool filterParent  = false,
            CancellationToken cancellationToken = default
            )
        {
            var query = GetListQuery(userId, moduleName, subjectId, parentId, rootId, status, filter, filterParent);

            return(await query.LongCountAsync(GetCancellationToken(cancellationToken)));
        }
Exemple #19
0
        /// <summary>
        /// 描述:向流程平台提交审核流程
        /// <para>作    者:瞿琦</para>
        /// <para>创建时间:2018.9.19</para>
        /// </summary>
        /// <param name="dto">提交的流程信息</param>
        /// <param name="auditStatus">审核状态</param>
        /// <returns></returns>
        public string SubmitAuditFlow(FlowInputDto dto, AuditStatus?auditStatus)
        {
            //向流程平台写入数据
            string flowId;

            FP3.SDK.FlowServices flowServices = new FP3.SDK.FlowServices();
            if (auditStatus != null && auditStatus == AuditStatus.Return) //重新提交
            {
                flowId = flowServices.OldAddTFlowInfor(dto);
            }
            else
            {
                flowId = flowServices.AddTFlowInfor(dto);  //第一次提交
            }
            return(flowId);
        }
Exemple #20
0
        /// <summary>
        /// 依据查询条件获取ContentItem(后台管理员使用)
        /// </summary>
        /// <param name="auditStatus"></param>
        /// <param name="subjectKeyword"></param>
        /// <param name="contentFolderId"></param>
        /// <param name="includeFolderDescendants"></param>
        /// <param name="tagNameKeyword"></param>
        /// <param name="contentTypeId"></param>
        /// <param name="userId"></param>
        /// <param name="isContributed"></param>
        /// <param name="isEssential"></param>
        /// <param name="isSticky"></param>
        /// <param name="minDate"></param>
        /// <param name="maxDate"></param>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <returns></returns>
        public PagingDataSet <ContentItem> GetContentItemsForAdmin(AuditStatus?auditStatus, string subjectKeyword, int?contentFolderId, bool?includeFolderDescendants = true, string tagNameKeyword = null, int?contentTypeId = null, long?userId = null, long?moderatorUserId = null, bool?isContributed = null, bool?isEssential = null, bool?isSticky = null, DateTime?minDate = null, DateTime?maxDate = null, int pageSize = 15, int pageIndex = 1)
        {
            PubliclyAuditStatus?publiclyAuditStatus = null;

            if (auditStatus.HasValue)
            {
                switch (auditStatus.Value)
                {
                case AuditStatus.Again:
                    publiclyAuditStatus = PubliclyAuditStatus.Again;
                    break;

                case AuditStatus.Fail:
                    publiclyAuditStatus = PubliclyAuditStatus.Fail;
                    break;

                case AuditStatus.Success:
                    publiclyAuditStatus = PubliclyAuditStatus.Success;
                    break;

                case AuditStatus.Pending:
                default:
                    publiclyAuditStatus = PubliclyAuditStatus.Pending;
                    break;
                }
            }
            ContentItemQuery query = new ContentItemQuery(CacheVersionType.None)
            {
                ContentFolderId          = contentFolderId,
                IncludeFolderDescendants = includeFolderDescendants,
                ContentTypeId            = contentTypeId,
                UserId              = userId,
                ModeratorUserId     = moderatorUserId,
                IsContributed       = isContributed,
                IsEssential         = isEssential,
                IsSticky            = isSticky,
                SubjectKeyword      = subjectKeyword,
                TagNameKeyword      = tagNameKeyword,
                PubliclyAuditStatus = publiclyAuditStatus,
                SortBy              = ContentItemSortBy.ReleaseDate_Desc,
                MinDate             = minDate,
                MaxDate             = maxDate,
            };

            return(contentItemRepository.GetContentItems(false, query, pageSize, pageIndex));
        }
Exemple #21
0
        public async Task <List <Article> > GetListByTagAsync(
            Guid tagId,
            bool?isActive      = null,
            AuditStatus?status = null,
            int maxResultCount = 10,
            int skipCount      = 0,
            string sorting     = null,
            CancellationToken cancellationToken = default)
        {
            var query = await GetListByTagQuery(tagId, isActive, status);

            var list = await query.OrderBy(sorting ?? "creationTime desc")
                       .PageBy(skipCount, maxResultCount)
                       .ToListAsync(GetCancellationToken(cancellationToken));

            return(list);
        }
Exemple #22
0
        /// <summary>
        /// 日志管理
        /// </summary>
        /// <param name="auditStatus">审批状态</param>
        /// <param name="categoryId">日志类别id</param>
        /// <param name="subjectKeywords">标题关键字</param>
        /// <param name="isEssential">是否加精</param>
        /// <param name="userId">作者id</param>
        /// <param name="pageSize">分页大小</param>
        /// <param name="pageIndex">页码</param>
        public ActionResult ManageBlogs(AuditStatus?auditStatus = null, long?categoryId = null, string subjectKeywords = null, bool?isEssential = null, string userId = null, string tenantTypeId = null, int pageSize = 20, int pageIndex = 1)
        {
            long?blogUserId = null;

            if (!string.IsNullOrEmpty(userId))
            {
                userId = userId.Trim(',');
                if (!string.IsNullOrEmpty(userId))
                {
                    blogUserId = long.Parse(userId);
                }
            }

            //获取类别
            IEnumerable <Category> categorys    = categoryService.GetOwnerCategories(0, TenantTypeIds.Instance().BlogThread());
            SelectList             categoryList = new SelectList(categorys.Select(n => new { text = n.CategoryName, value = n.CategoryId }), "value", "text", categoryId);

            ViewData["categoryList"] = categoryList;

            //组装是否加精
            List <SelectListItem> selectListIsEssential = new List <SelectListItem> {
                new SelectListItem {
                    Text = "是", Value = true.ToString()
                }, new SelectListItem {
                    Text = "否", Value = false.ToString()
                }
            };

            ViewData["isEssential"] = new SelectList(selectListIsEssential, "Value", "Text", isEssential);
            ViewData["userId"]      = blogUserId;

            //获取租户类型
            IEnumerable <TenantType> tenantTypes = tenantTypeService.Gets(MultiTenantServiceKeys.Instance().Blog());
            SelectList tenants = null;

            tenants                  = new SelectList(tenantTypes.Select(n => new { text = n.Name, value = n.TenantTypeId }), "value", "text", tenantTypeId);
            ViewData["tenants"]      = tenants;
            ViewData["tenantscount"] = tenantTypes.Count();

            PagingDataSet <BlogThread> blogs = blogService.GetsForAdmin(null, auditStatus, categoryId, isEssential, blogUserId, subjectKeywords, pageSize, pageIndex);

            pageResourceManager.InsertTitlePart("日志管理");

            return(View(blogs));
        }
Exemple #23
0
        protected async Task <IQueryable <Article> > GetListByTagQuery(
            Guid tagId,
            bool?isActive      = null,
            AuditStatus?status = null
            )
        {
            var context = await GetDbContextAsync();

            var query = from a in context.Articles
                        .WhereIf(isActive.HasValue, e => false || e.IsActive == isActive)
                        .WhereIf(status.HasValue, e => false || e.Status == status)
                        join t in context.ArticleTags
                        .Where(q => q.TagId == tagId)
                        on a.Id equals t.ArticleId
                        select a;

            return(query);
        }
        /// <summary>
        /// 投票管理
        /// </summary>
        /// <param name="auditStatus">审核状态</param>
        /// <param name="VoteId">投票id</param>
        /// <param name="subjectKeyword">标题关键字</param>
        /// <param name="userId">作者id</param>
        /// <param name="minDate">开始时间</param>
        /// <param name="maxDate">结合时间</param>
        /// <param name="pageSize">分页大小</param>
        /// <param name="pageIndex">页码</param>
        /// <returns></returns>
        public ActionResult ManageVote(AuditStatus?auditStatus = null, long?VoteId = null, string subjectKeyword = null, string userId = null, DateTime?minDate = null, DateTime?maxDate = null, int pageSize = 20, int pageIndex = 1)
        {
            long?voteUserId = null;

            if (!string.IsNullOrEmpty(userId))
            {
                userId = userId.Trim(',');
                if (!string.IsNullOrEmpty(userId))
                {
                    voteUserId = long.Parse(userId);
                }
            }
            ViewData["userId"] = voteUserId;

            PagingDataSet <VoteThread> items = voteService.GetVoteThreads(auditStatus, VoteId, subjectKeyword, voteUserId, minDate, maxDate, pageSize, pageIndex);

            pageResourceManager.InsertTitlePart("投票管理");
            return(View(items));
        }
Exemple #25
0
        public async Task <long> GetCountAsync(
            Guid?userId            = null,
            bool?hasFile           = null,
            bool?hasVideo          = null,
            bool?isFree            = null,
            bool?isActive          = null,
            AuditStatus?status     = null,
            Guid?categoryId        = null,
            Guid?userCategoryId    = null,
            DateTime?createdAfter  = null,
            DateTime?createdBefore = null,
            string filter          = null,
            CancellationToken cancellationToken = default
            )
        {
            var query = await GetListQuery(userId, hasFile, hasVideo, isFree, isActive, status, categoryId, userCategoryId, createdAfter, createdBefore, filter);

            return(await query.LongCountAsync(GetCancellationToken(cancellationToken)));
        }
        /// <summary>
        /// 管理问题
        /// </summary>
        /// <param name="auditStatus">审批状态</param>
        /// <param name="subjectKeyword">标题关键字</param>
        /// <param name="tagKeyword">标签关键字</param>
        /// <param name="userId">作者id</param>
        /// <param name="pageSize">分页大小</param>
        /// <param name="pageIndex">页码</param>
        /// <param name="questionStatus">问题状态</param>
        public ActionResult ManageQuestions(AuditStatus?auditStatus = null, string subjectKeyword = null, QuestionStatus?questionStatus = null, long?ownerId = null, string tagKeyword = null, string userId = null, int pageSize = 20, int pageIndex = 1)
        {
            long?questionUserId = null;

            if (!string.IsNullOrEmpty(userId))
            {
                userId = userId.Trim(',');
                if (!string.IsNullOrEmpty(userId))
                {
                    questionUserId = long.Parse(userId);
                }
            }

            ViewData["userId"] = questionUserId;

            PagingDataSet <AskQuestion> questionsList = askSevice.GetQuestionsForAdmin(null, auditStatus, questionStatus, ownerId, questionUserId, subjectKeyword, tagKeyword, pageSize, pageIndex);

            pageResourceManager.InsertTitlePart("问题管理");

            return(View(questionsList));
        }
        /// <summary>
        /// 回答管理
        /// </summary>
        /// <param name="auditStatus">审核状态</param>
        /// <param name="subjectKeyword">标题关键字</param>
        /// <param name="userId">作者ID</param>
        /// <param name="pageSize">每页数量</param>
        /// <param name="pageIndex">页码</param>
        /// <returns></returns>
        public ActionResult ManageAnswers(AuditStatus?auditStatus = null, string subjectKeyword = null, string userId = null, int pageSize = 20, int pageIndex = 1)
        {
            long?answerUserId = null;

            if (!string.IsNullOrEmpty(userId))
            {
                userId = userId.Trim(',');
                if (!string.IsNullOrEmpty(userId))
                {
                    answerUserId = long.Parse(userId);
                }
            }

            ViewData["userId"] = answerUserId;

            PagingDataSet <AskAnswer> AskAnswerList = askSevice.GetAnswersForAdmin(auditStatus, answerUserId, subjectKeyword, pageSize, pageIndex);

            pageResourceManager.InsertTitlePart("回答管理");

            return(View(AskAnswerList));
        }
Exemple #28
0
        /// <summary>
        /// 获取词条排行分页集合
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id</param>
        /// <param name="auditStatus">审核状态</param>
        /// <param name="categoryId">站点类别Id</param>
        /// <param name="isEssential">是否精华</param>
        /// <param name="ownerId">OwnerId</param>
        /// <param name="titleKeywords">标题关键字</param>
        /// <param name="pageSize">分页大小</param>
        /// <param name="pageIndex">页码</param>
        /// <returns>词条分页列表</returns>
        public PagingDataSet <WikiPage> GetsForAdmin(string tenantTypeId, AuditStatus?auditStatus, long?categoryId, bool?isEssential, long?ownerId, string titleKeywords, int pageSize = 20, int pageIndex = 1)
        {
            var sql      = Sql.Builder.Select("spb_WikiPages.*").From("spb_WikiPages");
            var whereSql = Sql.Builder.Where("spb_WikiPages.IsLogicalDelete=0");

            if (!string.IsNullOrEmpty(tenantTypeId))
            {
                whereSql.Where("spb_WikiPages.TenantTypeId=@0", tenantTypeId);
            }

            if (auditStatus.HasValue)
            {
                whereSql.Where("spb_WikiPages.AuditStatus=@0", auditStatus.Value);
            }

            if (categoryId.HasValue && categoryId > 0)
            {
                sql.InnerJoin("tn_ItemsInCategories").On("spb_WikiPages.PageId=tn_ItemsInCategories.ItemId");
                whereSql.Where("tn_ItemsInCategories.CategoryId=@0", categoryId.Value);
            }

            if (isEssential.HasValue)
            {
                whereSql.Where("spb_WikiPages.IsEssential=@0", isEssential);
            }

            if (ownerId.HasValue)
            {
                whereSql.Where("spb_WikiPages.OwnerId=@0", ownerId);
            }

            if (!string.IsNullOrEmpty(titleKeywords))
            {
                whereSql.Where("spb_WikiPages.Title like @0", "%" + StringUtility.StripSQLInjection(titleKeywords) + "%");
            }

            sql.Append(whereSql).OrderBy("spb_WikiPages.PageId desc");

            return(GetPagingEntities(pageSize, pageIndex, sql));
        }
Exemple #29
0
        /// <summary>
        /// 根据审核状态搜索微博
        /// </summary>
        public static string ManageMicroblogs(this SiteUrls siteUrls, AuditStatus?auditStatus = null, DateTime?startdate = null, DateTime?enddate = null, string tenantTypeId = null)
        {
            RouteValueDictionary dic = new RouteValueDictionary();

            if (auditStatus != null)
            {
                dic.Add("auditStatus", auditStatus);
            }
            if (!string.IsNullOrEmpty(tenantTypeId))
            {
                dic.Add("tenantTypeId", tenantTypeId);
            }
            if (startdate.HasValue)
            {
                dic.Add("startdate", startdate);
            }
            if (enddate.HasValue)
            {
                dic.Add("enddate", enddate);
            }
            return(CachedUrlHelper.Action("ManageMicroblogs", "ControlPanelMicroblog", MicroblogAreaName, dic));
        }
Exemple #30
0
        public async Task <List <Review> > GetListAsync(
            Guid?userId        = null,
            string moduleName  = null,
            string subjectId   = null,
            Guid?parentId      = null,
            Guid?rootId        = null,
            AuditStatus?status = null,
            string filter      = null,
            bool filterParent  = false,
            int maxResultCount = 10,
            int skipCount      = 0,
            string sorting     = null,
            CancellationToken cancellationToken = default
            )
        {
            var query = GetListQuery(userId, moduleName, subjectId, parentId, rootId, status, filter, filterParent);

            var list = await query.OrderBy(sorting ?? "creationTime desc")
                       .PageBy(skipCount, maxResultCount)
                       .ToListAsync(GetCancellationToken(cancellationToken));

            return(list);
        }
Exemple #31
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="oldAuditStatus">变化前的审核状态</param>
 /// <param name="newAuditStatus">变化后的审核状态</param>
 public AuditEventArgs(AuditStatus? oldAuditStatus, AuditStatus? newAuditStatus)
     : base(string.Empty)
 {
     this.oldAuditStatus = oldAuditStatus;
     this.newAuditStatus = newAuditStatus;
 }