Пример #1
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            ChannelId = Utils.ToInt(Request.QueryString["channelId"]);

            _isPermissionReply = InteractManager.IsPermission(SiteId, ChannelId, Permissions.Reply);
            _isPermissionEdit  = InteractManager.IsPermission(SiteId, ChannelId, Permissions.Edit);

            if (!string.IsNullOrEmpty(Request.QueryString["delete"]))
            {
                var list = Utils.StringCollectionToIntList(Request.QueryString["IDCollection"]);
                if (list.Count > 0)
                {
                    foreach (var contentId in list)
                    {
                        Main.ContentApi.Delete(SiteId, ChannelId, contentId);
                    }
                    LtlScript.Text = AlertUtils.Success("删除成功!", "");
                }
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["accept"]))
            {
                var list = Utils.StringCollectionToIntList(Request.QueryString["IDCollection"]);
                foreach (var contentId in list)
                {
                    var contentInfo = Main.ContentApi.GetContentInfo(SiteId, ChannelId, contentId);
                    var state       = EStateUtils.GetEnumType(contentInfo.GetString(ContentAttribute.State));
                    if (state == EState.New || state == EState.Denied)
                    {
                        contentInfo.Set(ContentAttribute.State, EStateUtils.GetValue(EState.Accepted));
                        Main.ContentApi.Update(SiteId, ChannelId, contentInfo);
                    }
                }
                LtlScript.Text = AlertUtils.Success("受理申请成功!", "");
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["deny"]))
            {
                var list = Utils.StringCollectionToIntList(Request.QueryString["IDCollection"]);
                foreach (var contentId in list)
                {
                    var contentInfo = Main.ContentApi.GetContentInfo(SiteId, ChannelId, contentId);
                    var state       = EStateUtils.GetEnumType(contentInfo.GetString(ContentAttribute.State));
                    if (state == EState.New || state == EState.Accepted)
                    {
                        contentInfo.Set(ContentAttribute.State, EStateUtils.GetValue(EState.Denied));
                        Main.ContentApi.Update(SiteId, ChannelId, contentInfo);
                    }
                }
                LtlScript.Text = AlertUtils.Success("拒绝受理申请成功!", "");
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["check"]))
            {
                var list = Utils.StringCollectionToIntList(Request.QueryString["IDCollection"]);
                foreach (var contentId in list)
                {
                    var contentInfo = Main.ContentApi.GetContentInfo(SiteId, ChannelId, contentId);
                    var state       = EStateUtils.GetEnumType(contentInfo.GetString(ContentAttribute.State));
                    if (state == EState.Replied)
                    {
                        contentInfo.Set(ContentAttribute.State, EStateUtils.GetValue(EState.Checked));
                        Main.ContentApi.Update(SiteId, ChannelId, contentInfo);
                    }
                }
                LtlScript.Text = AlertUtils.Success("审核申请成功!", "");
            }

            SpContents.ControlToPaginate = RptContents;
            SpContents.ItemsPerPage      = 25;
            SpContents.SelectCommand     = GetSelectString();
            SpContents.SortField         = nameof(IContentInfo.Taxis);
            SpContents.SortMode          = "DESC";
            RptContents.ItemDataBound   += RptContents_ItemDataBound;

            if (!IsPostBack)
            {
                SpContents.DataBind();
                LtlTotalCount.Text = SpContents.TotalCount.ToString();

                if (PhAccept != null)
                {
                    PhAccept.Visible = InteractManager.IsPermission(SiteId, ChannelId, Permissions.Accept);
                    HlAccept?.Attributes.Add("onclick", Utils.GetRedirectStringWithCheckBoxValueAndAlert(PageUrl + "&Accept=True", "IDCollection", "IDCollection", "请选择需要受理的申请!", "此操作将受理所选申请,确定吗?"));
                    HlDeny?.Attributes.Add("onclick", Utils.GetRedirectStringWithCheckBoxValueAndAlert(PageUrl + "&Deny=True", "IDCollection", "IDCollection", "请选择需要拒绝的申请!", "此操作将拒绝受理所选申请,确定吗?"));
                }
                if (PhCheck != null)
                {
                    PhCheck.Visible = InteractManager.IsPermission(SiteId, ChannelId, Permissions.Check);
                    HlCheck?.Attributes.Add("onclick", Utils.GetRedirectStringWithCheckBoxValueAndAlert(PageUrl + "&Check=True", "IDCollection", "IDCollection", "请选择需要审核的申请!", "此操作将审核所选申请,确定吗?"));
                    HlRedo?.Attributes.Add("onclick", ModalApplyRedo.GetOpenWindowString(SiteId, ChannelId));
                }
                if (PhSwitchToTranslate != null)
                {
                    PhSwitchToTranslate.Visible = InteractManager.IsPermission(SiteId, ChannelId, Permissions.SwitchToTranslate);
                    HlSwitchTo?.Attributes.Add("onclick", ModalApplySwitchTo.GetOpenWindowString(SiteId, ChannelId));
                    HlTranslate?.Attributes.Add("onclick", ModalApplyTranslate.GetOpenWindowString(SiteId, ChannelId));
                }
                if (PhComment != null)
                {
                    PhComment.Visible = InteractManager.IsPermission(SiteId, ChannelId, Permissions.Comment);
                    HlComment.Attributes.Add("onclick", ModalApplyComment.GetOpenWindowString(SiteId, ChannelId));
                }
                if (PhDelete != null)
                {
                    PhDelete.Visible = InteractManager.IsPermission(SiteId, ChannelId, Permissions.Delete) && ConfigInfo.ApplyIsDeleteAllowed;
                    HlDelete.Attributes.Add("onclick", Utils.GetRedirectStringWithCheckBoxValueAndAlert(PageUrl + "&Delete=True", "IDCollection", "IDCollection", "请选择需要删除的申请!", "此操作将删除所选申请,确定吗?"));
                }
                //hlExport?.Attributes.Add("onclick", ModalContentExport.GetOpenWindowString(SiteId, _channelId));
            }
        }
Пример #2
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            var channelId = AuthRequest.GetQueryInt("channelId");
            var contentId = AuthRequest.GetQueryInt("contentId");

            _returnUrl = AuthRequest.GetQueryString("returnUrl");

            _contentInfo = Main.ContentApi.GetContentInfo(SiteId, channelId, contentId);
            _adminInfo   = Main.AdminApi.GetAdminInfoByUserId(AuthRequest.AdminId);
            var state = EStateUtils.GetEnumType(_contentInfo.GetString(ContentAttribute.State));

            if (IsPostBack)
            {
                return;
            }

            if (PhBtnAccept != null)
            {
                PhBtnAccept.Visible = InteractManager.IsPermission(SiteId, _contentInfo.ChannelId, Permissions.Accept);
            }
            if (PhBtnSwitchToTranslate != null)
            {
                PhBtnSwitchToTranslate.Visible = InteractManager.IsPermission(SiteId, _contentInfo.ChannelId, Permissions.SwitchToTranslate);
            }
            if (PhBtnReply != null)
            {
                PhBtnReply.Visible = InteractManager.IsPermission(SiteId, _contentInfo.ChannelId, Permissions.Reply);
            }
            if (PhBtnCheck != null)
            {
                PhBtnCheck.Visible = state != EState.Checked && InteractManager.IsPermission(SiteId, _contentInfo.ChannelId, Permissions.Check);
            }
            if (PhBtnComment != null)
            {
                PhBtnComment.Visible = state != EState.Checked && InteractManager.IsPermission(SiteId, _contentInfo.ChannelId, Permissions.Comment);
            }
            if (PhBtnReturn != null)
            {
                PhBtnReturn.Visible = !ConfigInfo.ApplyIsOpenWindow;
            }

            var tableColumns = Main.ContentApi.GetTableColumns(SiteId, _contentInfo.ChannelId);
            var isSingle     = true;

            var builder = new StringBuilder();

            foreach (var tableColumn in tableColumns)
            {
                if (tableColumn.InputStyle == null ||
                    Utils.EqualsIgnoreCase(tableColumn.AttributeName, nameof(IContentInfo.Title)) ||
                    Utils.EqualsIgnoreCase(tableColumn.AttributeName, nameof(IContentInfo.IsHot)) ||
                    Utils.EqualsIgnoreCase(tableColumn.AttributeName, nameof(IContentInfo.IsColor)) ||
                    Utils.EqualsIgnoreCase(tableColumn.AttributeName, nameof(IContentInfo.IsRecommend)) ||
                    Utils.EqualsIgnoreCase(tableColumn.AttributeName, nameof(IContentInfo.IsTop)) ||
                    Utils.EqualsIgnoreCase(tableColumn.AttributeName, ContentAttribute.DepartmentId) ||
                    Utils.EqualsIgnoreCase(tableColumn.AttributeName, ContentAttribute.Content))
                {
                    continue;
                }

                var value = _contentInfo.GetString(tableColumn.AttributeName);
                if (Utils.EqualsIgnoreCase(tableColumn.AttributeName, ContentAttribute.TypeId))
                {
                    value = InteractManager.GetTypeName(Utils.ToInt(value));
                }
                else if (Utils.EqualsIgnoreCase(tableColumn.AttributeName, ContentAttribute.IsPublic))
                {
                    value = Utils.ToBool(value) ? "公开" : "不公开";
                }
                else if (Utils.EqualsIgnoreCase(tableColumn.AttributeName, ContentAttribute.FileUrl))
                {
                    if (!string.IsNullOrEmpty(value))
                    {
                        value =
                            $@"<a href=""{value}"" target=""_blank"">{value}</a>";
                    }
                }
                else if (Utils.EqualsIgnoreCase(tableColumn.AttributeName, ContentAttribute.State))
                {
                    value = EStateUtils.GetText(state);
                }

                if (isSingle)
                {
                    builder.Append("<tr>");
                }

                builder.Append(
                    $@"<th>{tableColumn.InputStyle.DisplayName}</th><td>{value}</td>");

                if (!isSingle)
                {
                    builder.Append("</tr>");
                }

                isSingle = !isSingle;
            }
            if (!isSingle)
            {
                builder.Append("</tr>");
            }

            LtlTitle.Text           = _contentInfo.Title;
            LtlApplyAttributes.Text = builder.ToString();

            LtlContent.Text = _contentInfo.GetString(ContentAttribute.Content);

            if (PhReply != null)
            {
                if (state == EState.Denied || state == EState.Replied || state == EState.Redo || state == EState.Checked)
                {
                    var replyInfo = ReplyDao.GetReplyInfoByContentId(SiteId, _contentInfo.Id);
                    if (replyInfo != null)
                    {
                        PhReply.Visible = true;
                        LtlDepartmentAndUserName.Text =
                            $"{DepartmentManager.GetDepartmentName(replyInfo.DepartmentId)}({replyInfo.UserName})";
                        LtlReplyAddDate.Text = Utils.GetDateAndTimeString(replyInfo.AddDate);
                        LtlReply.Text        = replyInfo.Reply;
                        if (!string.IsNullOrEmpty(replyInfo.FileUrl))
                        {
                            LtlReplyFileUrl.Text =
                                $@"<a href=""{replyInfo.FileUrl}"" target=""_blank"">{replyInfo.FileUrl}</a>";
                        }
                    }
                }
            }

            if (BtnSwitchTo != null)
            {
                var departmentId = _contentInfo.GetInt(ContentAttribute.DepartmentId);
                BtnSwitchTo.Attributes.Add("onclick", ModalDepartmentSelectSingle.GetOpenWindowString(SiteId, _contentInfo.ChannelId));
                var scriptBuilder = new StringBuilder();
                if (departmentId > 0)
                {
                    var departmentName = DepartmentManager.GetDepartmentName(departmentId);
                    scriptBuilder.Append(
                        $@"<script>departmentSelect('{departmentName}', {departmentId});</script>");
                }
                LtlScript.Text = scriptBuilder.ToString();
            }

            if (DdlTranslateChannelId != null)
            {
                var nodeInfoList = InteractManager.GetInteractChannelInfoList(SiteId);
                foreach (var nodeInfo in nodeInfoList)
                {
                    if (nodeInfo.Id != _contentInfo.ChannelId)
                    {
                        var listItem = new ListItem(nodeInfo.ChannelName, nodeInfo.Id.ToString());
                        DdlTranslateChannelId.Items.Add(listItem);
                    }
                }
            }

            RptRemarks.DataSource     = RemarkDao.GetDataSourceByContentId(SiteId, _contentInfo.Id);
            RptRemarks.ItemDataBound += RptRemarks_ItemDataBound;
            RptRemarks.DataBind();

            if (RptLogs != null)
            {
                RptLogs.DataSource     = LogDao.GetDataSourceByContentId(SiteId, _contentInfo.Id);
                RptLogs.ItemDataBound += RptLogs_ItemDataBound;
                RptLogs.DataBind();
            }
        }