public ActionResult AlertRemove(Guid id) { var context = PortalCrmConfigurationManager.CreateServiceContext(); var issue = context.CreateQuery("adx_issue").FirstOrDefault(adxIssue => adxIssue.GetAttributeValue <Guid>("adx_issueid") == id); if (issue == null || !Authorized(context, issue)) { return(new EmptyResult()); } var issueDataAdapter = new IssueDataAdapter(issue); var user = PortalCrmConfigurationManager.CreatePortalContext().User; if (user == null) { return(new EmptyResult()); } issueDataAdapter.DeleteAlert(user.ToEntityReference()); var issueViewModel = new IssueViewModel { Issue = issueDataAdapter.Select(), CurrentUserHasAlert = issueDataAdapter.HasAlert() }; return(PartialView("Tracking", issueViewModel)); }
private bool TryAddComment(IssueDataAdapter issueDataAdapter, string authorName, string authorEmail, string content) { if (!Request.IsAuthenticated) { if (string.IsNullOrWhiteSpace(authorName)) { ModelState.AddModelError("authorName", ResourceManager.GetString("Name_Required_Error")); } if (string.IsNullOrWhiteSpace(authorEmail)) { ModelState.AddModelError("authorEmail", ResourceManager.GetString("Email_Required_Error")); } } if (string.IsNullOrWhiteSpace(content)) { ModelState.AddModelError("content", ResourceManager.GetString("Comment_Required_Error")); } if (!ModelState.IsValid) { return(false); } issueDataAdapter.CreateComment(content, authorName, authorEmail); return(true); }
public ActionResult CommentCreate(Guid id, string authorName, string authorEmail, string copy) { var context = PortalCrmConfigurationManager.CreateServiceContext(); var issue = context.CreateQuery("adx_issue").FirstOrDefault(adxIssue => adxIssue.GetAttributeValue <Guid>("adx_issueid") == id); if (issue == null || !Authorized(context, issue)) { return(new EmptyResult()); } var issueDataAdapter = new IssueDataAdapter(issue) { ChronologicalComments = true }; var sanitizedCopy = SafeHtml.SafeHtmSanitizer.GetSafeHtml(copy ?? string.Empty); TryAddComment(issueDataAdapter, authorName, authorEmail, sanitizedCopy); var comments = FeatureCheckHelper.IsFeatureEnabled(FeatureNames.Feedback) ? new PaginatedList <IComment>(PaginatedList.Page.Last, issueDataAdapter.SelectCommentCount(), issueDataAdapter.SelectComments) : null; var commentsViewModel = new IssueCommentsViewModel { Issue = issueDataAdapter.Select(), Comments = comments }; return(PartialView("Comments", commentsViewModel)); }
private ActionResult GetIssueView(Entity adxIssueForum, Entity adxIssue, int?page) { var issueDataAdapter = new IssueDataAdapter(adxIssue) { ChronologicalComments = true }; var issue = issueDataAdapter.Select(); var comments = FeatureCheckHelper.IsFeatureEnabled(FeatureNames.Feedback) ? new PaginatedList <IComment>(page, issueDataAdapter.SelectCommentCount(), issueDataAdapter.SelectComments) : null; var issueViewModel = new IssueViewModel { IssueForum = new IssueForumDataAdapter(adxIssueForum).Select(), Issue = issue, Comments = new IssueCommentsViewModel { Comments = comments, Issue = issue }, CurrentUserHasAlert = issueDataAdapter.HasAlert() }; return(View("Issue", issueViewModel)); }
private bool TryAddComment(IssueDataAdapter issueDataAdapter, string authorName, string authorEmail, string content) { if (!Request.IsAuthenticated) { if (string.IsNullOrWhiteSpace(authorName)) { ModelState.AddModelError("authorName", "Your name is required."); } if (string.IsNullOrWhiteSpace(authorEmail)) { ModelState.AddModelError("authorEmail", "Email is required; it will not be displayed."); } } if (string.IsNullOrWhiteSpace(content)) { ModelState.AddModelError("content", "Comment is required."); } if (!ModelState.IsValid) { return(false); } issueDataAdapter.CreateComment(content, authorName, authorEmail); return(true); }
public ActionResult CommentCreate(Guid id, string authorName, string authorEmail, string copy) { var context = PortalCrmConfigurationManager.CreateServiceContext(); var issue = context.CreateQuery("adx_issue").FirstOrDefault(adxIssue => adxIssue.GetAttributeValue <Guid>("adx_issueid") == id); if (issue == null || !Authorized(context, issue)) { return(new EmptyResult()); } var issueDataAdapter = new IssueDataAdapter(issue) { ChronologicalComments = true }; TryAddComment(issueDataAdapter, authorName, authorEmail, copy); var commentsViewModel = new IssueCommentsViewModel { Issue = issueDataAdapter.Select(), Comments = new PaginatedList <IComment>(PaginatedList.Page.Last, issueDataAdapter.SelectCommentCount(), issueDataAdapter.SelectComments) }; return(PartialView("Comments", commentsViewModel)); }