Example #1
0
        /// <summary>
        /// 更新ContentItem
        /// </summary>
        /// <param name="contentItem"></param>
        public void Update(ContentItem contentItem)
        {
            //执行事件
            EventBus <ContentItem> .Instance().OnBefore(contentItem, new CommonEventArgs(EventOperationType.Instance().Update()));

            AuditStatus prevAuditStatus = contentItem.AuditStatus;

            //设置审核状态
            AuditService auditService = new AuditService();

            auditService.ChangeAuditStatusForUpdate(contentItem.UserId, contentItem);
            if (contentItem.AdditionalProperties.Get <bool>("FirstAsTitleImage", false))
            {
                IEnumerable <Attachment> attachments = new AttachmentService(TenantTypeIds.Instance().ContentItem()).GetsByAssociateId(contentItem.ContentItemId);
                Attachment fristImage = attachments.Where(n => n.MediaType == MediaType.Image).FirstOrDefault();
                if (fristImage != null)
                {
                    contentItem.FeaturedImageAttachmentId = fristImage.AttachmentId;
                    contentItem.FeaturedImage             = fristImage.GetRelativePath() + "\\" + fristImage.FileName;
                }
            }
            contentItemRepository.Update(contentItem);

            //执行事件
            EventBus <ContentItem> .Instance().OnAfter(contentItem, new CommonEventArgs(EventOperationType.Instance().Update(), ApplicationIds.Instance().CMS()));

            EventBus <ContentItem, AuditEventArgs> .Instance().OnAfter(contentItem, new AuditEventArgs(prevAuditStatus, contentItem.AuditStatus));
        }
Example #2
0
        /// <summary>
        /// 更新审核状态
        /// danny-20150318
        /// </summary>
        /// <param name="id"></param>
        /// <param name="enumStatusType"></param>
        /// <returns></returns>
        public bool UpdateAuditStatus(int id, AuditStatus enumStatusType)
        {
            bool reslut = false;

            try
            {
                string sql = string.Empty;
                if (enumStatusType == AuditStatus.Status1)
                {
                    sql = string.Format(" update clienter set Status={0} where Id=@id ", ClienteStatus.Status1.GetHashCode());
                }
                else if (enumStatusType == AuditStatus.Status0)
                {
                    sql = string.Format(" update clienter set Status={0} where Id=@id ", ClienteStatus.Status0.GetHashCode());
                }
                IDbParameters dbParameters = DbHelper.CreateDbParameters();
                dbParameters.AddWithValue("id", id);
                int i = DbHelper.ExecuteNonQuery(SuperMan_Write, sql, dbParameters);
                if (i > 0)
                {
                    reslut = true;
                }
            }
            catch (Exception ex)
            {
                reslut = false;
                LogHelper.LogWriter(ex, "更新审核状态");
                throw;
            }
            return(reslut);
        }
Example #3
0
        /// <summary>
        /// 批量更新审核状态
        /// </summary>
        /// <param name="ids">评论Id列表</param>
        /// <param name="auditingStatus">审核状态</param>
        public void UpdateAuditStatus(IEnumerable <long> ids, AuditStatus auditStatus)
        {
            //声明PetaPoco的SqlBuilder
            var sql = PetaPoco.Sql.Builder;

            //组装sql
            sql.Append("update tn_Categories set AuditStatus =@0", (int)auditStatus)
            .Where("CategoryId in (@ids)", new { ids = ids });

            //执行语句
            int effectLineCount = CreateDAO().Execute(sql);

            #region 处理缓存

            if (effectLineCount > 0)
            {
                //更新实体缓存
                foreach (long id in ids)
                {
                    T category = Get(id);
                    if (category != null)
                    {
                        category.AuditStatus = auditStatus;
                    }
                    RealTimeCacheHelper.IncreaseEntityCacheVersion(id);
                }

                //处理全局缓存 - 后台管理,需要即时显示
                RealTimeCacheHelper.IncreaseGlobalVersion();
            }
            #endregion
        }
Example #4
0
        /// <summary>
        /// 批准/不批准群组
        /// </summary>
        /// <param name="groupId">待被更新的群组Id</param>
        /// <param name="isApproved">是否通过审核</param>
        public void Approve(long groupId, bool isApproved)
        {
            //设计要点
            //1、审核状态未变化不用进行任何操作;
            //2、需要触发的事件参见《设计说明书-群组》;

            GroupEntity group = groupRepository.Get(groupId);

            AuditStatus newAuditStatus = isApproved ? AuditStatus.Success : AuditStatus.Fail;

            if (group.AuditStatus == newAuditStatus)
            {
                return;
            }

            AuditStatus oldAuditStatus = group.AuditStatus;

            group.AuditStatus = newAuditStatus;
            groupRepository.Update(group);

            string operationType = isApproved ? EventOperationType.Instance().Approved() : EventOperationType.Instance().Disapproved();

            EventBus <GroupEntity> .Instance().OnAfter(group, new CommonEventArgs(operationType));

            EventBus <GroupEntity, AuditEventArgs> .Instance().OnAfter(group, new AuditEventArgs(oldAuditStatus, newAuditStatus));
        }
Example #5
0
        /// <summary>
        /// 输出审核图标的方法
        /// </summary>
        /// <param name="htmlHelper"></param>
        /// <param name="auditStatus">审核状态</param>
        /// <returns>审核图标</returns>
        public static MvcHtmlString AuditStatusIcon(this HtmlHelper htmlHelper, AuditStatus auditStatus)
        {
            TagBuilder span = new TagBuilder("span");
            switch (auditStatus)
            {
                case AuditStatus.Again:
                    span.MergeAttribute("class", "tn-icon-colorful tn-icon-colorful-again tn-icon-inline");
                    span.MergeAttribute("title", "需再次审核");
                    break;
                case AuditStatus.Fail:
                    span.MergeAttribute("class", "tn-icon-colorful tn-icon-colorful-stop tn-icon-inline");
                    span.MergeAttribute("title", "未通过");
                    break;
                case AuditStatus.Pending:
                    span.MergeAttribute("class", "tn-icon-colorful tn-icon-colorful-wait tn-icon-inline");
                    span.MergeAttribute("title", "待审核");
                    break;
                default:
                    span.MergeAttribute("class", "tn-icon-colorful tn-icon-colorful-pass tn-icon-inline");
                    span.MergeAttribute("title", "已通过");
                    break;
            }

            return new MvcHtmlString("&nbsp;" + span.ToString());
        }
Example #6
0
        /// <summary>
        /// 发送即时通讯提醒
        /// </summary>
        /// <param name="id">主键</param>
        /// <param name="auditStatus">审核状态</param>
        /// <param name="auditIdea">审核意见</param>
        /// <param name="userId">发送给用户主键</param>
        /// <param name="roleId">发送给角色主键</param>
        /// <returns>影响行数</returns>
        public int SendRemindMessage(string id, AuditStatus auditStatus, string auditIdea, string[] userIds, string[] organizeIds, string[] roleIds)
        {
            int returnValue = 0;
            // 发送请求审核的信息
            BaseMessageEntity messageEntity = new BaseMessageEntity();

            messageEntity.Id = BaseBusinessLogic.NewGuid();
            // 这里是回调的类,用反射要回调的
            messageEntity.FunctionCode = this.GetType().ToString();
            messageEntity.ObjectId     = id;
            // 这里是网页上的显示地址
            // messageEntity.Title = this.GetUrl(id);
            // messageEntity.Content = BaseBusinessLogic.GetAuditStatus(auditStatus) + ":" + this.GetEntity(id).Title + " 请查收"
            //    + Environment.NewLine
            //    + this.GetUrl(id)
            //    + auditIdea;
            messageEntity.IsNew             = 1;
            messageEntity.ReadCount         = 0;
            messageEntity.Enabled           = 1;
            messageEntity.DeletionStateCode = 0;
            BaseMessageManager messageManager = new BaseMessageManager(this.UserInfo);

            returnValue = messageManager.BatchSend(userIds, organizeIds, roleIds, messageEntity, false);
            return(returnValue);
        }
Example #7
0
        /// <summary>
        /// 批量更新审核状态
        /// </summary>
        /// <param name="ids">标签Id列表</param>
        /// <param name="isApproved">是否通过审核</param>
        public void UpdateAuditStatus(IEnumerable <long> ids, bool isApproved)
        {
            List <PetaPoco.Sql> sqls = new List <PetaPoco.Sql>();

            foreach (var id in ids)
            {
                var sql = PetaPoco.Sql.Builder;
                sql.Append("UPDATE tn_Tags SET AuditStatus = @0", isApproved ? (int)AuditStatus.Success : (int)AuditStatus.Fail)
                .Where("TagId = @0", id);
                sqls.Add(sql);
            }

            int affectCount = CreateDAO().Execute(sqls);

            //更新缓存版本号
            if (affectCount > 0)
            {
                AuditStatus status = isApproved ? AuditStatus.Success : AuditStatus.Fail;
                foreach (var id in ids)
                {
                    var tag = Get(id);
                    if (tag != null)
                    {
                        tag.AuditStatus = status;
                        RealTimeCacheHelper.IncreaseEntityCacheVersion(id);
                    }
                }

                RealTimeCacheHelper.IncreaseGlobalVersion();
            }
        }
Example #8
0
        /// <summary>
        /// 更新日志
        /// </summary>
        /// <param name="blogThread">日志实体</param>
        /// <param name="changeAuditStatusForUpdate">是否改变审核状态</param>
        public void Update(BlogThread blogThread, bool changeAuditStatusForUpdate = true, string privacyStatus1 = null, string privacyStatus2 = null)
        {
            //done:mazq,by zhengw:更新时,审核状态也不需要更新吧

            //设计要点
            //1、需要触发的事件参见《设计说明书-日志》;
            //2、Repository更新时不处理:IsEssential;

            EventBus <BlogThread> .Instance().OnBefore(blogThread, new CommonEventArgs(EventOperationType.Instance().Update()));

            AuditStatus prevAuditStatus = blogThread.AuditStatus;

            //设置审核状态
            if (changeAuditStatusForUpdate)
            {
                AuditService auditService = new AuditService();
                auditService.ChangeAuditStatusForUpdate(blogThread.UserId, blogThread);
            }

            blogThreadRepository.Update(blogThread);

            //设置隐私状态
            UpdatePrivacySettings(blogThread, privacyStatus1, privacyStatus2);

            EventBus <BlogThread> .Instance().OnAfter(blogThread, new CommonEventArgs(EventOperationType.Instance().Update()));

            EventBus <BlogThread, AuditEventArgs> .Instance().OnAfter(blogThread, new AuditEventArgs(prevAuditStatus, blogThread.AuditStatus));
        }
Example #9
0
        /// <summary>
        /// 批准/不批准日志
        /// </summary>
        /// <param name="threadId">待被更新的主题帖Id</param>
        /// <param name="isApproved">是否通过审核</param>
        public void Approve(long threadId, bool isApproved)
        {
            //设计要点
            //1、审核状态未变化不用进行任何操作;
            //2、需要触发的事件参见《设计说明书-日志》;

            BlogThread blogThread = blogThreadRepository.Get(threadId);

            AuditStatus newAuditStatus = isApproved ? AuditStatus.Success : AuditStatus.Fail;

            if (blogThread.AuditStatus == newAuditStatus)
            {
                return;
            }

            AuditStatus oldAuditStatus = blogThread.AuditStatus;

            blogThread.AuditStatus = newAuditStatus;
            this.Update(blogThread, false);

            string operationType = isApproved ? EventOperationType.Instance().Approved() : EventOperationType.Instance().Disapproved();

            EventBus <BlogThread> .Instance().OnAfter(blogThread, new CommonEventArgs(operationType));

            EventBus <BlogThread, AuditEventArgs> .Instance().OnAfter(blogThread, new AuditEventArgs(oldAuditStatus, newAuditStatus));
        }
Example #10
0
        public string GetImage(AuditStatus oStatus)
        {
            string strImage = "/images/bigHelp.gif";

            switch (oStatus)
            {
            case AuditStatus.Error:
                strImage = "/images/bigError.gif";
                break;

            case AuditStatus.Ignore:
                strImage = "/images/bigCheck.gif";
                break;

            case AuditStatus.Running:
                strImage = "/images/bigArrowRight.gif";
                break;

            case AuditStatus.Success:
                strImage = "/images/bigCheck.gif";
                break;

            case AuditStatus.TimedOut:
                strImage = "/images/clock.gif";
                break;

            case AuditStatus.Warning:
                strImage = "/images/bigAlert.gif";
                break;
            }
            return(strImage);
        }
Example #11
0
        /// <summary>
        /// 输出审核图标的方法
        /// </summary>
        /// <param name="htmlHelper"></param>
        /// <param name="auditStatus">审核状态</param>
        /// <returns>审核图标</returns>
        public static MvcHtmlString AuditStatusIcon(this HtmlHelper htmlHelper, AuditStatus auditStatus)
        {
            TagBuilder span = new TagBuilder("span");

            switch (auditStatus)
            {
            case AuditStatus.Again:
                span.MergeAttribute("class", "tn-icon-colorful tn-icon-colorful-again tn-icon-inline");
                span.MergeAttribute("title", "需再次审核");
                break;

            case AuditStatus.Fail:
                span.MergeAttribute("class", "tn-icon-colorful tn-icon-colorful-stop tn-icon-inline");
                span.MergeAttribute("title", "未通过");
                break;

            case AuditStatus.Pending:
                span.MergeAttribute("class", "tn-icon-colorful tn-icon-colorful-wait tn-icon-inline");
                span.MergeAttribute("title", "待审核");
                break;

            default:
                span.MergeAttribute("class", "tn-icon-colorful tn-icon-colorful-pass tn-icon-inline");
                span.MergeAttribute("title", "已通过");
                break;
            }

            return(new MvcHtmlString("&nbsp;" + span.ToString()));
        }
Example #12
0
        /// <summary>
        /// 编辑问题
        /// </summary>
        /// <remarks>
        /// 1.使用AuditService.ChangeAuditStatusForUpdate设置审核状态;
        /// 2.Repository更新时不处理:IsEssential
        /// 3.需要触发的事件:Update的OnBefore、OnAfter;
        /// </remarks>
        /// <param name="question">问题实体</param>
        /// <param name="changeAuditStatusForUpdate">是否更新审核状态</param>
        public void UpdateQuestion(AskQuestion question, bool changeAuditStatusForUpdate = true)
        {
            AskQuestion question_beforeUpDate = GetQuestion(question.QuestionId);

            if (question.Reward != question_beforeUpDate.Reward && question.Reward < (question.User.TradePoints + question_beforeUpDate.Reward))
            {
                question.AddedReward = question.Reward - question_beforeUpDate.Reward;
            }
            else
            {
                question.AddedReward = 0;
            }

            EventBus <AskQuestion> .Instance().OnBefore(question, new CommonEventArgs(EventOperationType.Instance().Update()));

            AuditStatus prevAuditStatus = question.AuditStatus;

            //设置审核状态
            if (changeAuditStatusForUpdate)
            {
                new AuditService().ChangeAuditStatusForUpdate(question.UserId, question);
            }

            askQuestionRepository.Update(question);

            AtUserService atUserService = new AtUserService(TenantTypeIds.Instance().AskQuestion());

            atUserService.ResolveBodyForEdit(question.Body, question.UserId, question.QuestionId);

            EventBus <AskQuestion> .Instance().OnAfter(question, new CommonEventArgs(EventOperationType.Instance().Update()));

            EventBus <AskQuestion, AuditEventArgs> .Instance().OnAfter(question, new AuditEventArgs(prevAuditStatus, question.AuditStatus));
        }
Example #13
0
 private void DoSaveArchiveWorkflow(AuditStatus status, ArchiveWorkflow flow)
 {
     archiveFlowSaved           = true;
     BusyIndicator1.IsBusy      = true;
     BusyIndicator1.BusyContent = "正在保存流程...";
     flow.SubmitUserId          = AuthenticateStatus.CurrentUser.UserId;
     flow.Status = status;
     flowContext.SaveWorkflow(flow, obj =>
     {
         BusyIndicator1.IsBusy = false;
         if (Utility.Utility.CheckInvokeOperation(obj))
         {
             if (obj.Value == null)
             {
                 CustomMessageBox.Show("流程保存失败,请您检查输入是否正确!");
             }
             else
             {
                 ArchiveFlow = obj.Value;
                 if (ArchiveFlow.Status == AuditStatus.Draft)
                 {
                     LayoutRoot.DataContext = ArchiveFlow;
                 }
                 else if (ArchiveFlow.Status == AuditStatus.Auditing)
                 {
                     CustomMessageBox.Alert("流程提交成功!");
                     OnBackToBrowseButtonClick(this, null);
                 }
             }
         }
     }, null);
 }
Example #14
0
        /// <summary>
        /// 编辑回答
        /// </summary>
        /// <remarks>
        /// 1.使用AuditService.ChangeAuditStatusForUpdate设置审核状态;
        /// 2.需要触发的事件:Update的OnBefore、OnAfter;
        /// </remarks>
        /// <param name="answer">回答实体</param>
        /// <param name="changeAuditStatusForUpdate">是否更新审核状态</param>
        public void UpdateAnswer(AskAnswer answer, bool changeAuditStatusForUpdate = true)
        {
            EventBus <AskAnswer> .Instance().OnBefore(answer, new CommonEventArgs(EventOperationType.Instance().Update()));

            AuditStatus prevAuditStatus = answer.AuditStatus;

            //设置审核状态
            if (changeAuditStatusForUpdate)
            {
                new AuditService().ChangeAuditStatusForUpdate(answer.UserId, answer);
            }

            askAnswerRepository.Update(answer);

            //更新相关问题的内容
            AskQuestion question = askQuestionRepository.Get(answer.QuestionId);

            question.LastAnswerUserId = answer.UserId;
            question.LastAnswerAuthor = answer.Author;
            question.LastAnswerDate   = answer.DateCreated;
            if (answer.IsBest)
            {
                question.Status = QuestionStatus.Resolved;
            }
            //将临时附件转换为正式附件
            AttachmentService attachmentService = new AttachmentService(TenantTypeIds.Instance().AskAnswer());

            attachmentService.ToggleTemporaryAttachments(answer.UserId, TenantTypeIds.Instance().AskAnswer(), answer.AnswerId);
            this.UpdateQuestion(question, false);
            //调用Service中的Update方法,以触发相应的事件,但是不更新审核状态
            EventBus <AskAnswer> .Instance().OnAfter(answer, new CommonEventArgs(EventOperationType.Instance().Update()));

            EventBus <AskAnswer, AuditEventArgs> .Instance().OnAfter(answer, new AuditEventArgs(prevAuditStatus, answer.AuditStatus));
        }
Example #15
0
        /// <summary>
        /// 批量更新审核状态
        /// </summary>
        /// <param name="postIds">待被更新的回复贴Id集合</param>
        /// <param name="isApproved">是否通过审核</param>
        public void BatchUpdateAuditStatus(IEnumerable <long> postIds, bool isApproved)
        {
            IEnumerable <BarPost> posts = GetBarPosts(postIds);

            AuditStatus auditStatus   = isApproved ? AuditStatus.Success : AuditStatus.Fail;
            string      operationType = isApproved ? EventOperationType.Instance().Approved() : EventOperationType.Instance().Disapproved();

            foreach (var post in posts)
            {
                if (post.AuditStatus == auditStatus)
                {
                    continue;
                }
                AuditStatus oldAuditStatus = post.AuditStatus;

                post.AuditStatus = auditStatus;
                barPostRepository.Update(post);



                EventBus <BarPost> .Instance().OnAfter(post, new CommonEventArgs(operationType));

                EventBus <BarPost, AuditEventArgs> .Instance().OnAfter(post, new AuditEventArgs(oldAuditStatus, post.AuditStatus));
            }
            //更新主题帖最新回复的缓存
        }
Example #16
0
        public static string WithDisplayName(this AuditStatus status, string errorMsg)
        {
            switch (status)
            {
            case AuditStatus.NotFond:
                return("未创建");

            case AuditStatus.UnCommitted:
                return("未提交审核");

            case AuditStatus.CHECKING:
                return("审核中");

            case AuditStatus.EXPIRED:
                return("协议过期");

            case AuditStatus.REJECTED:
                return(string.Format("<i class=\"fa fa-info-circle red\" title=\"{1}\">{0} </i>", "已拒绝",
                                     errorMsg.Replace("*****@*****.**", "*****@*****.**")
                                     .Replace("</br>", string.Empty)));

            case AuditStatus.APPROVED:
                return("审核通过");
            }
            return("未定义的状态");
        }
Example #17
0
 //用户审计工作流使能
 public bool CanUserAuditWorkflow(int flowId, AuditStatus status, int userId)
 {
     if (status != AuditStatus.Auditing)
     {
         return(false);
     }
     return(GetAuditFlowByUser(userId, status).Any(o => o.FlowId == flowId));
 }
Example #18
0
 /// <summary>
 ///     Move state to review.
 /// </summary>
 /// <remarks>
 ///     Can move to this state from:
 ///     <list type="bullet">
 ///         <item>Pending</item>
 ///     </list>
 /// </remarks>
 public void TransitionToReview()
 {
     if (AuditStatus != AuditStatus.Pending)
     {
         throw new StateTransitionException(AuditStatus, AuditStatus.PendingReview);
     }
     AuditStatus = AuditStatus.PendingReview;
 }
Example #19
0
 public static bool IsAuditOffline(AuditStatus status)
 {
     if (status == AuditStatus.Offline || status == AuditStatus.OnlineAuditing || status == AuditStatus.OnlineAuditRejected)
     {
         return(true);
     }
     return(false);
 }
Example #20
0
 public ArticleAuditLog(Guid id, Guid?tenantId, Guid articleId, AuditStatus status, string remark)
     : base(id)
 {
     TenantId  = tenantId;
     ArticleId = articleId;
     Status    = status;
     Remark    = remark;
 }
Example #21
0
 /// <summary>
 ///     Move state to todo.
 /// </summary>
 /// <remarks>
 ///     Can move to this state from:
 ///     <list type="bullet">
 ///         <item>Pending</item>
 ///     </list>
 /// </remarks>
 public void TransitionToTodo()
 {
     if (AuditStatus != AuditStatus.Pending)
     {
         throw new StateTransitionException(AuditStatus, AuditStatus.Todo);
     }
     AuditStatus = AuditStatus.Todo;
 }
Example #22
0
 /// <summary>
 ///     Move state to done.
 /// </summary>
 /// <remarks>
 ///     Can move to this state from:
 ///     <list type="bullet">
 ///         <item>PendingReview</item>
 ///     </list>
 /// </remarks>
 public void TransitionToDone()
 {
     if (AuditStatus != AuditStatus.PendingReview)
     {
         throw new StateTransitionException(AuditStatus, AuditStatus.Done);
     }
     AuditStatus = AuditStatus.Done;
 }
        /// <summary>
        /// 更新审核状态
        /// danny-20150318
        /// </summary>
        /// <param name="id"></param>
        /// <param name="price"></param>
        /// <returns></returns>
        public bool UpdateAuditStatus(int id, AuditStatus enumStatusType)
        {
            ETS.NoSql.RedisCache.RedisCache redis = new ETS.NoSql.RedisCache.RedisCache();
            string cacheKey = string.Format(RedissCacheKey.ClienterProvider_GetUserStatus, id);

            redis.Delete(cacheKey);
            return(dao.UpdateAuditStatus(id, enumStatusType));
        }
Example #24
0
 /// <summary>
 ///     Move state to rejected.
 /// </summary>
 /// <remarks>
 ///     Can move to this state from:
 ///     <list type="bullet">
 ///         <item>PendingReview</item>
 ///     </list>
 /// </remarks>
 public void TransitionToRejected()
 {
     if (AuditStatus != AuditStatus.PendingReview)
     {
         throw new StateTransitionException(AuditStatus, AuditStatus.Rejected);
     }
     AuditStatus = AuditStatus.Rejected;
 }
Example #25
0
        /// <summary>
        /// 审核评论
        /// </summary>
        /// <param name="status"></param>
        /// <param name="auditRmark"></param>
        public void Audit(AuditStatus status, string auditRmark = "")
        {
            Status = status;

            if (!string.IsNullOrEmpty(auditRmark))
            {
                AuditRemark = auditRmark;
            }
        }
Example #26
0
 private AuditMessage GenerateMessage(string id, string message, AuditStatus status)
 {
     return(new AuditMessage
     {
         Status = status,
         Message = message,
         Url = $"https://byui.instructure.com/api/v1/courses/{id}/modules"
     });
 }
Example #27
0
 /// <summary>
 /// 资讯后台管理
 /// </summary>
 /// <param name="siteUrls"></param>
 /// <param name="auditStatus">审核状态</param>
 public static string CmsControlPanelManage(this SiteUrls siteUrls, AuditStatus? auditStatus = null)
 {
     RouteValueDictionary dic = new RouteValueDictionary();
     if (auditStatus.HasValue)
     {
         dic.Add("auditStatus", auditStatus);
     }
     return CachedUrlHelper.Action("ManageContentItems", "ControlPanelCms", CmsAreaName, dic);
 }
Example #28
0
 public void UpdateServer(int _id, AuditStatus _status, string _completed)
 {
     // Called when a script has finished processing (during audit phase of provisioning)
     // Completed is "" unless it finished successfully
     arParams    = new SqlParameter[3];
     arParams[0] = new SqlParameter("@id", _id);
     arParams[1] = new SqlParameter("@status", _status);
     arParams[2] = new SqlParameter("@completed", (_completed == "" ? SqlDateTime.Null : DateTime.Parse(_completed)));
     SqlHelper.ExecuteNonQuery(dsn, CommandType.StoredProcedure, "pr_updateServerAudit", arParams);
 }
Example #29
0
 /// <summary>
 /// Saves the specified audit message.
 /// </summary>
 /// <param name="id">Type of audit being logged.</param>
 /// <param name="status">Indicates if the audit was a success or failure.</param>
 /// <param name="elapsedTime">Amount of time in milliseconds to complete the operation.</param>
 /// <param name="message">Message associated with the audit.</param>
 public void Audit(AuditId id, AuditStatus status, long elapsedTime, string message)
 {
     try
     {
         this.dalc.WriteMessage(this.RegionCode, id, status, message, this.UserId, this.TransactionId, elapsedTime);
     }
     catch (Exception e)
     {
         this.Logger.Log(TraceEventType.Error, LoggingMessageId.DALCGenericMessage, e.ToString());
     }
 }
Example #30
0
        public string GetErrorBody(int _requestid, int _serviceid, int _number)
        {
            DataSet       ds        = GetError(_requestid, _serviceid, _number);
            Users         oUser     = new Users(0, dsn);
            Requests      oRequest  = new Requests(0, dsn);
            Servers       oServer   = new Servers(0, dsn);
            StringBuilder sbDetails = new StringBuilder();

            if (ds.Tables[0].Rows.Count > 0)
            {
                DataRow dr       = ds.Tables[0].Rows[0];
                int     intUser  = oRequest.GetUser(_requestid);
                int     intAudit = Int32.Parse(ds.Tables[0].Rows[0]["auditid"].ToString());
                DataSet dsAudit  = GetServer(intAudit);
                if (dsAudit.Tables[0].Rows.Count > 0)
                {
                    int intServer = Int32.Parse(dsAudit.Tables[0].Rows[0]["serverid"].ToString());
                    sbDetails.Append("<tr><td colspan=\"5\"><b>SERVER: &nbsp;" + oServer.GetName(intServer, true) + "</b></td></tr>");
                    sbDetails.Append("<tr><td colspan=\"5\"><b>SCRIPT: &nbsp;" + dsAudit.Tables[0].Rows[0]["name"].ToString() + "</b></td></tr>");
                    sbDetails.Append("<tr>");
                    sbDetails.Append("<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>");
                    sbDetails.Append("<td><b>Status</b></td>");
                    sbDetails.Append("<td><b>Code</b></td>");
                    sbDetails.Append("<td><b>Result</b></td>");
                    sbDetails.Append("<td><b>Date</b></td>");
                    sbDetails.Append("</tr>");
                    try
                    {
                        DataSet dsAuditResult = GetServerDetailsRemote(intAudit);
                        foreach (DataRow drAuditResult in dsAuditResult.Tables[0].Rows)
                        {
                            sbDetails.Append("<tr>");
                            sbDetails.Append("<td></td>");
                            try
                            {
                                int         intAuditStatus = Int32.Parse(drAuditResult["status"].ToString());
                                AuditStatus oAuditStatus   = (AuditStatus)intAuditStatus;
                                sbDetails.Append("<td valign=\"top\" nowrap>" + oAuditStatus.ToString() + "</td>");
                            }
                            catch
                            {
                                sbDetails.Append("<td valign=\"top\" nowrap>Unknown Status (" + drAuditResult["status"].ToString() + ")</td>");
                            }
                            sbDetails.Append("<td valign=\"top\" nowrap>" + drAuditResult["code"].ToString() + "</td>");
                            sbDetails.Append("<td valign=\"top\" width=\"100%\">" + drAuditResult["result"].ToString() + "</td>");
                            sbDetails.Append("<td valign=\"top\" nowrap>" + drAuditResult["created"].ToString() + "</td>");
                            sbDetails.Append("</tr>");
                        }
                    }
                    catch { }
                }
            }
            return(sbDetails.ToString());
        }
Example #31
0
        /// <summary>
        /// 设置用户审核状态
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="ids">主键数组</param>
        /// <param name="auditStates">审核状态</param>
        /// <returns>影响行数</returns>
        public int SetUserAuditStates(BaseUserInfo userInfo, string[] ids, AuditStatus auditStates)
        {
            // 写入调试信息
            #if (DEBUG)
            int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
            #endif

            // 加强安全验证防止未授权匿名调用
            #if (!DEBUG)
            LogOnService.UserIsLogOn(userInfo);
            #endif

            int returnValue = 0;
            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                try
                {
                    dbHelper.Open(UserCenterDbConnection);
                    BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo);
                    returnValue = userManager.SetProperty(ids, new KeyValuePair <string, object>(BaseUserEntity.FieldAuditStatus, auditStates.ToString()));
                    // 被审核通过
                    if (auditStates == AuditStatus.AuditPass)
                    {
                        returnValue = userManager.SetProperty(ids, new KeyValuePair <string, object>(BaseUserEntity.FieldEnabled, 1));
                        // returnValue = userManager.SetProperty(ids, BaseUserEntity.FieldAuditStatus, StatusCode.UserIsActivate.ToString());
                    }
                    // 被退回
                    if (auditStates == AuditStatus.AuditReject)
                    {
                        returnValue = userManager.SetProperty(ids, new KeyValuePair <string, object>(BaseUserEntity.FieldEnabled, 0));
                        returnValue = userManager.SetProperty(ids, new KeyValuePair <string, object>(BaseUserEntity.FieldAuditStatus, StatusCode.UserLocked.ToString()));
                    }
                    BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.UserService_SetUserAuditStates, MethodBase.GetCurrentMethod());
                }
                catch (Exception ex)
                {
                    BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                    throw ex;
                }
                finally
                {
                    dbHelper.Close();
                }
            }

            // 写入调试信息
            #if (DEBUG)
            BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
            #endif

            return(returnValue);
        }
Example #32
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);
 }
Example #33
0
        private void SaveArchiveWorkflowInfo(AuditStatus status)
        {
            var flow = LayoutRoot.DataContext as ArchiveWorkflow;

            if (status == AuditStatus.Submitted && flow != null && ArchiveFlow.Files != null)
            {
                foreach (var file in ArchiveFlow.Files)
                {
                    file.DocumentInfo.Status = DocumentStatus.Pending;
                }
            }
            UploadFileAndSaveFlow(status, flow);
        }
        /// <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(ApplicationKeys.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);
        }
 /// <summary>
 /// 发送即时通讯提醒
 /// </summary>
 /// <param name="id">主键</param>
 /// <param name="auditStatus">审核状态</param>
 /// <param name="auditIdea">审核意见</param>
 /// <param name="userId">发送给用户主键</param>
 /// <param name="roleId">发送给角色主键</param>
 /// <returns>影响行数</returns>
 public int SendRemindMessage(string id, AuditStatus auditStatus, string auditIdea, string[] userIds, string[] organizeIds, string[] roleIds)
 {
     int returnValue = 0;
     // 发送请求审核的信息
     BaseMessageEntity messageEntity = new BaseMessageEntity();
     messageEntity.Id = BaseBusinessLogic.NewGuid();
     // 这里是回调的类,用反射要回调的
     messageEntity.FunctionCode = this.GetType().ToString();
     messageEntity.ObjectId = id;
     // 这里是网页上的显示地址
     // messageEntity.Title = this.GetUrl(id);
     // messageEntity.Content = BaseBusinessLogic.GetAuditStatus(auditStatus) + ":" + this.GetEntity(id).Title + " 请查收"
     //    + Environment.NewLine
     //    + this.GetUrl(id)
     //    + auditIdea;
     messageEntity.IsNew = 1;
     messageEntity.ReadCount = 0;
     messageEntity.Enabled = 1;
     messageEntity.DeletionStateCode = 0;
     BaseMessageManager messageManager = new BaseMessageManager(this.UserInfo);
     returnValue = messageManager.BatchSend(userIds, organizeIds, roleIds, messageEntity, false);
     return returnValue;
 }
Example #36
0
 /// <summary>
 /// 更新评论的审核状态
 /// </summary>
 public string _UpdateCommentAuditStatus(AuditStatus auditStatus)
 {
     return CachedUrlHelper.Action("_UpdateCommentAuditStatus", "ControlPanelContent", CommonAreaName, new RouteValueDictionary() { { "auditStatus", auditStatus } });
 }
 /// <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);
 }
Example #38
0
 /// <summary>
 /// 管理用户分类
 /// </summary>
 /// <returns></returns>
 public string ManageUserCategories(string keyword, string tenantTypeId, AuditStatus? auditStatus = null, long ownerId = 0, int pageIndex = 1)
 {
     return CachedUrlHelper.Action("ManageUserCategories", "ControlPanelContent", CommonAreaName, new RouteValueDictionary() { { "keyword", keyword }, { "tenantTypeId", tenantTypeId }, { "auditStatus", auditStatus }, { "pageIndex", pageIndex }, { "ownerId", ownerId } });
 }
        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);
        }
        public ActionResult ManageMicroblogs(int pageIndex = 1, string userId = null, string keyword = null, MediaType? mediaType = null, AuditStatus? auditStatus = null, DateTime? startdate = null, DateTime? enddate = null, int pageSize = 20, string tenantTypeId = null, long? ownerId = null)
        {
            pageResourceManager.InsertTitlePart("微博管理");

            #region 组装搜索条件
            MicroblogQuery query = new MicroblogQuery();

            long? id = null;
            if (!string.IsNullOrEmpty(userId))
            {
                userId = userId.TrimStart(',').TrimEnd(',');
                if (!string.IsNullOrEmpty(userId))
                {
                    id = long.Parse(userId);
                }
            }
            query.OwnerId = ownerId;
            query.Keyword = keyword;
            query.UserId = id;
            query.MediaType = mediaType;
            query.AuditStatus = auditStatus;
            query.TenantTypeId = tenantTypeId;
            if (startdate != DateTime.MinValue)
                query.StartDate = startdate;

            if (enddate != DateTime.MinValue && enddate.HasValue)
                query.EndDate = enddate.Value.AddDays(1);

            #endregion

            ViewData["userId"] = id;
            PagingDataSet<MicroblogEntity> microblogs = microblogService.GetMicroblogs(query, pageSize, pageIndex);
            if (tenantTypeId == null)
            {
                tenantTypeId = TenantTypeIds.Instance().User();
            }
            ViewData["tenantTypeId"] = tenantTypeId;
            return View(microblogs);
        }
Example #41
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;
 }
 public JsonResult UpdateAuditStatus(string categoryIds, AuditStatus auditStatus)
 {
     if (!string.IsNullOrEmpty(categoryIds))
     {
         IEnumerable<long> updatecategoryIds = categoryIds.TrimEnd(',').Split(',').Select(t => Convert.ToInt64(t));
         categoryService.UpdateAuditStatus(updatecategoryIds, auditStatus);
         return Json(new StatusMessageData(StatusMessageType.Success, "更新审核状态成功!"), JsonRequestBehavior.AllowGet);
     }
     else
     {
         return Json(new StatusMessageData(StatusMessageType.Error, "请选择要更新的项!"), JsonRequestBehavior.AllowGet);
     }
 }
        public ActionResult ManageUserCategories(string keyword, string tenantTypeId, AuditStatus? auditStatus = null, string ownerId = null, int pageIndex = 1, int pageSize = 20)
        {
            pageResourceManager.InsertTitlePart("用户类别管理");
            //所属下拉框
            SelectList tenants = GetTenantSelectList(MultiTenantServiceKeys.Instance().UserCategory(), tenantTypeId);
            ViewData["tenants"] = tenants;

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

            PubliclyAuditStatus? publiclyAuditStatus = null;
            if (auditStatus != null)
            {
                publiclyAuditStatus = (PubliclyAuditStatus?)auditStatus;
            }

            CategoryService categoryService = new CategoryService();

            PagingDataSet<Category> categorys = categoryService.GetOwnerCategories(publiclyAuditStatus, tenantTypeId, keyword, userId, pageSize, pageIndex);
            ViewData["userId"] = userId;
            return View(categorys);
        }
        public ActionResult ManageTags(string keyword, string tenantTypeId, bool? isFeatured, AuditStatus? auditStatus = null, int pageIndex = 1, int pageSize = 20)
        {
            pageResourceManager.InsertTitlePart("标签管理");

            TagService tagService = new TagService(tenantTypeId);

            PubliclyAuditStatus? publiclyAuditStatus = null;
            if (auditStatus != null)
            {
                publiclyAuditStatus = (PubliclyAuditStatus?)auditStatus;
            }
            TagQuery tagQuery = new TagQuery();
            tagQuery.PubliclyAuditStatus = publiclyAuditStatus;
            tagQuery.Keyword = keyword;
            tagQuery.TenantTypeId = tenantTypeId;
            if (isFeatured.HasValue)
            {
                tagQuery.IsFeatured = isFeatured.Value;
            }
            PagingDataSet<Tag> tags = tagService.GetTags(tagQuery, pageIndex, pageSize);
            AuthorizationService authorizationService = new AuthorizationService();

            //所属下拉框
            List<TenantType> tenantTypesList = tenantTypeService.Gets(MultiTenantServiceKeys.Instance().Tag()).ToList<TenantType>();
            List<TenantType> newTenantTypesList = new List<TenantType>();

            if (UserContext.CurrentUser.IsInRoles(RoleNames.Instance().SuperAdministrator(), RoleNames.Instance().ContentAdministrator()))
            {
                newTenantTypesList.Insert(0, new TenantType { ApplicationId = 0, Name = "不限", TenantTypeId = "" });
                newTenantTypesList.AddRange(tenantTypesList);
            }
            else
            {
                foreach (var item in tenantTypesList)
                {
                    if (new AuthorizationService().IsApplicationManager(UserContext.CurrentUser, item.ApplicationId))
                    {
                        newTenantTypesList.Add(item);
                    }

                }
            }

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

            //所属名称
            Dictionary<string, string> tenantsDictionary = tenantTypesList.ToDictionary(n => n.TenantTypeId, n => n.Name);
            ViewData["tenantsDictionary"] = tenantsDictionary;

            return View(tags);
        }
        /// <summary>
        /// 发送即时通讯提醒
        /// </summary>
        /// <param name="workFlowCurrentEntity">当前审核流实体信息</param>
        /// <param name="auditStatus">审核状态</param>
        /// <param name="auditIdea">审核意见</param>
        /// <param name="userIds">发送给用户主键</param>
        /// <param name="roleIds">发送给角色主键</param>
        /// <returns>影响行数</returns>
        public virtual int SendRemindMessage(BaseWorkFlowCurrentEntity workFlowCurrentEntity, AuditStatus auditStatus, string[] userIds, string organizeId, string roleId)
        {
            // string currentId, string objectId, string objectFullName
            int returnValue = 0;
            // 不用给自己发消息了,消息多了也烦恼
            userIds = StringUtil.Remove(userIds, this.UserInfo.Id);
            // BaseUserEntity userEntity = userManager.GetEntity(userId);
            // 发送请求审核的信息
            BaseMessageEntity messageEntity = new BaseMessageEntity();
            messageEntity.Id = BaseBusinessLogic.NewGuid();
            // 这里是回调的类,用反射要回调的
            messageEntity.FunctionCode = MessageFunction.Remind.ToString();
            // messageEntity.FunctionCode = this.GetType().ToString();
            messageEntity.ObjectId = workFlowCurrentEntity.ObjectId;
            // 这里是网页上的显示地址
            // messageEntity.Title = this.GetUrl(id);
            string auditIdea = string.Empty;
            if (!string.IsNullOrEmpty(workFlowCurrentEntity.AuditIdea))
            {
                auditIdea = " 批示: " + workFlowCurrentEntity.AuditIdea;
            }
            // messageEntity.Contents = userEntity.DepartmentName + " " + userEntity.RealName
            messageEntity.Contents
                = workFlowCurrentEntity.CreateBy + " 发出审批申请: " + "<a title='点击这里,直接查看单据' target='_blank' href='" + this.GetUrl(workFlowCurrentEntity.Id) + "'>" + workFlowCurrentEntity.ObjectFullName + "</a> "
                + Environment.NewLine
                + this.UserInfo.RealName + " " + BaseBusinessLogic.GetAuditStatus(auditStatus) + " "
                + Environment.NewLine
                + auditIdea;

            messageEntity.Contents = "有单据" + BaseBusinessLogic.GetAuditStatus(auditStatus);
            messageEntity.IsNew = 1;
            messageEntity.ReadCount = 0;
            messageEntity.Enabled = 1;
            messageEntity.DeletionStateCode = 0;
            BaseMessageManager messageManager = new BaseMessageManager(this.UserInfo);
            returnValue = messageManager.BatchSend(userIds, organizeId, roleId, messageEntity, false);
            return returnValue;
        }
        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)
        {
            IUser currentUser = UserContext.CurrentUser;
            if (currentUser == null)
                return Redirect(SiteUrls.Instance().Login(true));
            long? id = null;
            if (!string.IsNullOrEmpty(userId))
            {
                userId = userId.TrimStart(',').TrimEnd(',');
                if (!string.IsNullOrEmpty(userId))
                {
                    id = long.Parse(userId);
                }
            }
            ViewData["userId"] = id;
            var contentFolderService = new ContentFolderService();
            if (folderId.HasValue && folderId.Value > 0)
            {
                ContentFolder contentFolder = contentFolderService.Get(folderId.Value);
                if (!authorizer.CMS_ManageContentFolder(contentFolder))
                {
                    return Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                    {
                        Body = string.Format("您没有权限管理 {0} !", contentFolder == null ? "" : contentFolder.FolderName),
                        Title = "没有权限",
                        StatusMessageType = StatusMessageType.Hint
                    }));
                }
            }
            else
            {
                //判断用户是否为栏目管理员
                if (!authorizer.CMS_ManageContentItemsForChannel())
                {
                    return Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel
                    {
                        Body = "您没有权限在前台管理资讯",
                        Title = "没有权限",
                        StatusMessageType = StatusMessageType.Hint
                    }));
                }
            }

            var contentTypes = new MetadataService().GetContentTypes(true);
            ViewData["ContentTypes"] = contentTypes;
            long? moderatorUserId = null;
            if (!authorizer.IsAdministrator(CmsConfig.Instance().ApplicationId))
                moderatorUserId = currentUser.UserId;
            PagingDataSet<ContentItem> items = contentItemService.GetContentItemsForAdmin(auditStatus, subjectKeyWord, folderId, true, tagNameKeyword: tagNameKeyword, userId: id, moderatorUserId: moderatorUserId, minDate: minDate, maxDate: maxDate, pageSize: pageSize, pageIndex: pageIndex);
            pageResourceManager.InsertTitlePart("资讯管理");
            RouteData.Values["CurrentNavigationId"] = "10101501";
            return View(items);
        }
Example #47
0
 /// <summary>
 /// 管理帖吧
 /// </summary>
 /// <param name="siteUrls"></param>
 /// <param name="auditStatus">审核状态</param>
 /// <param name="sectionId">帖吧Id</param>
 /// <returns>帖吧管理页面</returns>
 public static string ManageBars(this SiteUrls siteUrls, long? sectionId = null, AuditStatus? auditStatus = null)
 {
     RouteValueDictionary dictionary = new RouteValueDictionary();
     if (sectionId.HasValue)
         dictionary.Add("sectionId", sectionId);
     if (auditStatus.HasValue)
         dictionary.Add("auditStatus", auditStatus);
     return CachedUrlHelper.Action("ManageBars", "ControlPanelBar", BarAreaName, dictionary);
 }
Example #48
0
        /// <summary>
        /// 设置用户审核状态
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="ids">主键数组</param>
        /// <param name="auditStates">审核状态</param>
        /// <returns>影响行数</returns>
        public int SetUserAuditStates(BaseUserInfo userInfo, string[] ids, AuditStatus auditStates)
        {
            // 写入调试信息
            #if (DEBUG)
                int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
            #endif

            // 加强安全验证防止未授权匿名调用
            #if (!DEBUG)
                LogOnService.UserIsLogOn(userInfo);
            #endif

            int returnValue = 0;
            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                try
                {
                    dbHelper.Open(UserCenterDbConnection);
                    BaseUserManager userManager = new BaseUserManager(dbHelper, userInfo);
                    returnValue = userManager.SetProperty(ids, new KeyValuePair<string, object>(BaseUserEntity.FieldAuditStatus, auditStates.ToString()));
                    // 被审核通过
                    if (auditStates == AuditStatus.AuditPass)
                    {
                        returnValue = userManager.SetProperty(ids, new KeyValuePair<string, object>(BaseUserEntity.FieldEnabled, 1));
                        // returnValue = userManager.SetProperty(ids, BaseUserEntity.FieldAuditStatus, StatusCode.UserIsActivate.ToString());
                    }
                    // 被退回
                    if (auditStates == AuditStatus.AuditReject)
                    {
                        returnValue = userManager.SetProperty(ids, new KeyValuePair<string, object>(BaseUserEntity.FieldEnabled, 0));
                        returnValue = userManager.SetProperty(ids, new KeyValuePair<string, object>(BaseUserEntity.FieldAuditStatus, StatusCode.UserLocked.ToString()));
                    }
                    BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.UserService_SetUserAuditStates, MethodBase.GetCurrentMethod());
                }
                catch (Exception ex)
                {
                    BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                    throw ex;
                }
                finally
                {
                    dbHelper.Close();
                }
            }

            // 写入调试信息
            #if (DEBUG)
                BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
            #endif

            return returnValue;
        }
 public JsonResult _UpdateCommentAuditStatus(IEnumerable<long> commentIds, AuditStatus auditStatus)
 {
     commentService.BatchUpdateAuditStatus(commentIds, auditStatus == AuditStatus.Success);
     return Json(new StatusMessageData(StatusMessageType.Success, "更新评论审核状态成功!"));
 }
 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);
 }
Example #51
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);
        }
 public void AddToAuditStatuses(AuditStatus auditStatus)
 {
     base.AddObject("AuditStatuses", auditStatus);
 }
 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);
 }
 public static AuditStatus CreateAuditStatus(int ID, string auditStatusDescription, bool inUse, byte[] rowVersion)
 {
     AuditStatus auditStatus = new AuditStatus();
     auditStatus.Id = ID;
     auditStatus.AuditStatusDescription = auditStatusDescription;
     auditStatus.InUse = inUse;
     auditStatus.RowVersion = rowVersion;
     return auditStatus;
 }
        /// <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);
        }
Example #56
0
 /// <summary>
 /// 管理贴子
 /// </summary>
 /// <param name="siteUrls"></param>
 /// <param name="auditStatus">审核状态</param>
 /// <param name="tenantTypeId">租户类型Id</param>
 /// <returns>管理贴子页面</returns>
 public static string ManageThreads(this SiteUrls siteUrls, AuditStatus? auditStatus = null, string tenantTypeId = null)
 {
     RouteValueDictionary dic = new RouteValueDictionary();
     if (auditStatus.HasValue)
         dic.Add("AuditStatus", auditStatus);
     if (!string.IsNullOrEmpty(tenantTypeId))
         dic.Add("tenantTypeId", tenantTypeId);
     return CachedUrlHelper.Action("ManageThreads", "ControlPanelBar", BarAreaName, dic);
 }
        /// <summary>
        /// 他的资讯/我的资讯
        /// </summary>
        public ActionResult CmsUser(string spaceKey, int? contentFolderId = null, AuditStatus? auditStatus = null, int pageSize = 50, int pageIndex = 1)
        {
            IUser user = null;
            if (string.IsNullOrEmpty(spaceKey))
            {
                user = UserContext.CurrentUser;
                if (user == null)
                {
                    return Redirect(SiteUrls.Instance().Login(true));
                }
                pageResourceManager.InsertTitlePart("我的资讯");
            }
            else
            {
                user = userService.GetFullUser(spaceKey);
                if (user == null)
                {
                    return HttpNotFound();
                }

                if (!new PrivacyService().Validate(user.UserId, UserContext.CurrentUser != null ? UserContext.CurrentUser.UserId : 0, PrivacyItemKeys.Instance().VisitUserSpace()))
                {
                    if (UserContext.CurrentUser == null)
                        return Redirect(SiteUrls.Instance().Login(true));
                    else
                        return Redirect(SiteUrls.Instance().PrivacyHome(user.UserName));
                }

                if (UserContext.CurrentUser != null && user.UserId == UserContext.CurrentUser.UserId)
                {
                    pageResourceManager.InsertTitlePart("我的资讯");
                }
                else
                {
                    pageResourceManager.InsertTitlePart(user.DisplayName + "的资讯");
                }
            }
            ViewData["user"] = user;
            bool hasManagePermission = UserContext.CurrentUser != null && UserContext.CurrentUser.UserId == user.UserId;
            if (authorizer.IsAdministrator(CmsConfig.Instance().ApplicationId))
                hasManagePermission = true;
            PubliclyAuditStatus? publiclyAuditStatus = null;
            if (hasManagePermission)
            {
                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;
                    }
            }
            else
                publiclyAuditStatus = new AuditService().GetPubliclyAuditStatus(CmsConfig.Instance().ApplicationId);

            PagingDataSet<ContentItem> contentItems = contentItemService.GetUserContentItems(user.UserId, contentFolderId, publiclyAuditStatus, pageSize, pageIndex);
            if (Request.IsAjaxRequest())
                return PartialView("_UserContentItems", contentItems);
            ViewData["hasManagePermission"] = hasManagePermission;
            OwnerDataService ownerDataService = new OwnerDataService(TenantTypeIds.Instance().User());
            ViewData["contributeCount"] = ownerDataService.GetLong(user.UserId, OwnerDataKeys.Instance().ContributeCount());

            return View(contentItems);
        }
Example #58
0
 public static string GetAuditStatus(AuditStatus auditStatus)
 {
     return GetAuditStatus(auditStatus.ToString());
 }