private ActionResult GetIdeaForumView(Entity ideaForum, int?page, string filter = null, string timeSpan = null, string status = "new") { IdeaStatus ideaStatus; IdeaForumDataAdapter ideaForumDataAdapter; if (string.Equals(filter, "new", StringComparison.InvariantCultureIgnoreCase)) { ideaForumDataAdapter = new IdeaForumByNewDataAdapter(ideaForum); } else if (string.Equals(filter, "hot", StringComparison.InvariantCultureIgnoreCase)) { ideaForumDataAdapter = new IdeaForumByHotDataAdapter(ideaForum); } else { ideaForumDataAdapter = new IdeaForumDataAdapter(ideaForum); } ideaForumDataAdapter.MinDate = timeSpan == "this-year" ? DateTime.UtcNow.AddYears(-1).Date : timeSpan == "this-month" ? DateTime.UtcNow.AddMonths(-1).Date : timeSpan == "this-week" ? DateTime.UtcNow.AddDays(-7).Date : timeSpan == "today" ? DateTime.UtcNow.AddHours(-24) : (DateTime?)null; ideaForumDataAdapter.Status = Enum.TryParse(status, true, out ideaStatus) ? (int)ideaStatus : (int?)null; var ideaForumViewModel = new IdeaForumViewModel { IdeaForum = ideaForumDataAdapter.Select(), Ideas = new PaginatedList <IIdea>(page, ideaForumDataAdapter.SelectIdeaCount(), ideaForumDataAdapter.SelectIdeas) }; return(View("IdeaForum", ideaForumViewModel)); }
private bool TryAddIdea(IdeaForumDataAdapter ideaForumDataAdapter, string title, string authorName, string authorEmail, string copy) { 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(title)) { ModelState.AddModelError("title", "Idea is required."); } if (!ModelState.IsValid) { return(false); } ideaForumDataAdapter.CreateIdea(title, copy, authorName, authorEmail); return(true); }
public ActionResult Create(Guid id, string title, string authorName, string authorEmail, string copy) { var context = PortalCrmConfigurationManager.CreateServiceContext(); var ideaForum = context.CreateQuery("adx_ideaforum").FirstOrDefault(ideaforum => ideaforum.GetAttributeValue <Guid>("adx_ideaforumid") == id); if (ideaForum == null || !Authorized(context, ideaForum)) { return(new EmptyResult()); } var ideaForumDataAdapter = new IdeaForumDataAdapter(ideaForum); var sanitizedCopy = SafeHtml.SafeHtmSanitizer.GetSafeHtml(copy ?? string.Empty); TryAddIdea(ideaForumDataAdapter, title, authorName, authorEmail, sanitizedCopy); var currentIdeaForum = ideaForumDataAdapter.Select(); if (currentIdeaForum == null) { throw new InvalidOperationException(string.Format("Can't find {0} having ID {1}.", "adx_ideaforum", ideaForum.Id)); } return(PartialView("CreateIdea", currentIdeaForum)); }
private bool TryAddIdea(IdeaForumDataAdapter ideaForumDataAdapter, string title, string authorName, string authorEmail, string copy) { 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(title)) { ModelState.AddModelError("title", ResourceManager.GetString("Idea_Is_Required_Error")); } if (!ModelState.IsValid) { return(false); } ideaForumDataAdapter.CreateIdea(title, copy, authorName, authorEmail); return(true); }
public ActionResult Create(Guid id, string title, string authorName, string authorEmail, string copy) { var context = PortalCrmConfigurationManager.CreateServiceContext(); var ideaForum = context.CreateQuery("adx_ideaforum").FirstOrDefault(ideaforum => ideaforum.GetAttributeValue <Guid>("adx_ideaforumid") == id); if (ideaForum == null || !Authorized(context, ideaForum)) { return(new EmptyResult()); } var ideaForumDataAdapter = new IdeaForumDataAdapter(ideaForum); TryAddIdea(ideaForumDataAdapter, title, authorName, authorEmail, copy); return(PartialView("CreateIdea", ideaForumDataAdapter.Select())); }
private ActionResult GetIdeaView(Entity adxIdeaForum, Entity adxIdea, int?page) { var ideaDataAdapter = new IdeaDataAdapter(adxIdea) { ChronologicalComments = true }; var idea = ideaDataAdapter.Select(); var comments = FeatureCheckHelper.IsFeatureEnabled(FeatureNames.Feedback) ? new PaginatedList <IComment>(page, ideaDataAdapter.SelectCommentCount(), ideaDataAdapter.SelectComments) : null; var currentIdeaForum = new IdeaForumDataAdapter(adxIdeaForum).Select(); if (currentIdeaForum == null) { return(RedirectToPageNotFound()); } var ideaViewModel = new IdeaViewModel { IdeaForum = currentIdeaForum, Idea = idea, Comments = new IdeaCommentsViewModel { Comments = comments, Idea = idea } }; if (FeatureCheckHelper.IsFeatureEnabled(FeatureNames.TelemetryFeatureUsage)) { PortalFeatureTrace.TraceInstance.LogFeatureUsage(FeatureTraceCategory.Idea, this.HttpContext, "read_idea", 1, idea.Entity.ToEntityReference(), "read"); PortalFeatureTrace.TraceInstance.LogFeatureUsage(FeatureTraceCategory.Idea, this.HttpContext, "read_comment_idea", idea.CommentCount, idea.Entity.ToEntityReference(), "read"); } return(View("Idea", ideaViewModel)); }