public IssueExtendedData( string authorName, string authorEmail, string issueForumPartialUrl, string issueForumTitle, IssueForumCommentPolicy issueForumCommentPolicy) { AuthorName = authorName; AuthorEmail = authorEmail; IssueForumPartialUrl = issueForumPartialUrl; IssueForumTitle = issueForumTitle; IssueForumCommentPolicy = issueForumCommentPolicy; }
/// <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"); } }