コード例 #1
0
 public IssueExtendedData(
     string authorName,
     string authorEmail,
     string issueForumPartialUrl,
     string issueForumTitle,
     IssueForumCommentPolicy issueForumCommentPolicy)
 {
     AuthorName              = authorName;
     AuthorEmail             = authorEmail;
     IssueForumPartialUrl    = issueForumPartialUrl;
     IssueForumTitle         = issueForumTitle;
     IssueForumCommentPolicy = issueForumCommentPolicy;
 }
コード例 #2
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="entity">An adx_issue entity.</param>
        /// <param name="httpContext"></param>
        /// <param name="commentCount">The number of comments for this issue.</param>
        /// <param name="authorName">The name of the author for this issue.</param>
        /// <param name="authorEmail">The email of the author for this issue.</param>
        /// <param name="issueForumPartialUrl">The URL slug for the parent issue forum of this issue.</param>
        /// <param name="issueForumTitle">The title for the parent issue forum of this issue.</param>
        /// <param name="commentPolicy">The comment policy for this issue.</param>
        public Issue(
            Entity entity,
            HttpContextBase httpContext,
            int commentCount,
            string authorName,
            string authorEmail,
            string issueForumPartialUrl,
            string issueForumTitle,
            IssueForumCommentPolicy commentPolicy)
        {
            entity.ThrowOnNull("entity");
            entity.AssertEntityName("adx_issue");
            httpContext.ThrowOnNull("httpContext");
            ThrowOnNegative(commentCount, "commentCount");

            Entity               = entity;
            _httpContext         = httpContext;
            AuthorName           = authorName;
            AuthorEmail          = authorEmail;
            AuthorId             = entity.GetAttributeValue <EntityReference>("adx_authorid") == null ? Guid.Empty : entity.GetAttributeValue <EntityReference>("adx_authorid").Id;
            CommentCount         = commentCount;
            CommentPolicy        = commentPolicy;
            Copy                 = entity.GetAttributeValue <string>("adx_copy");
            Id                   = entity.Id;
            IssueForumPartialUrl = issueForumPartialUrl;
            IssueForumTitle      = issueForumTitle;
            IsApproved           = entity.GetAttributeValue <bool?>("adx_approved").GetValueOrDefault(false);
            PartialUrl           = entity.GetAttributeValue <string>("adx_partialurl");
            Status               = entity.GetAttributeValue <OptionSetValue>("statuscode") == null ? (int)IssueStatusCode.Inactive : entity.GetAttributeValue <OptionSetValue>("statuscode").Value;
            StatusComment        = entity.GetAttributeValue <string>("adx_statuscomment");
            SubmittedOn          = entity.GetAttributeValue <DateTime?>("adx_date") ?? entity.GetAttributeValue <DateTime>("createdon");
            Summary              = entity.GetAttributeValue <string>("adx_summary");
            Title                = entity.GetAttributeValue <string>("adx_name");

            CurrentUserCanComment =
                CommentPolicy == IssueForumCommentPolicy.Open ||
                CommentPolicy == IssueForumCommentPolicy.Moderated ||
                CommentPolicy == IssueForumCommentPolicy.OpenToAuthenticatedUsers && _httpContext.Request.IsAuthenticated;

            if (FeatureCheckHelper.IsFeatureEnabled(FeatureNames.TelemetryFeatureUsage))
            {
                PortalFeatureTrace.TraceInstance.LogFeatureUsage(FeatureTraceCategory.Issue, httpContext, "read_issue", 1, entity.ToEntityReference(), "read");
            }
        }