示例#1
0
        private bool TryAddIssue(IssueForumDataAdapter issueForumDataAdapter, string title, string authorName, string authorEmail, string copy, bool track)
        {
            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("Issue_Required_Error"));
            }

            if (!ModelState.IsValid)
            {
                return(false);
            }

            issueForumDataAdapter.CreateIssue(title, copy, track, authorName, authorEmail);

            return(true);
        }
示例#2
0
        private bool TryAddIssue(IssueForumDataAdapter issueForumDataAdapter, string title, string authorName, string authorEmail, string copy, bool track)
        {
            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", "Issue is required.");
            }

            if (!ModelState.IsValid)
            {
                return(false);
            }

            issueForumDataAdapter.CreateIssue(title, copy, track, authorName, authorEmail);

            return(true);
        }
        private ActionResult GetIssueForumView(Entity issueForum, int?page, string filter = "open", string status = "all", string priority = null)
        {
            IssuePriority issuePriority;

            var issueForumDataAdapter = new IssueForumDataAdapter(issueForum);

            if (status == "all" && string.Equals(filter, "open", StringComparison.InvariantCultureIgnoreCase))
            {
                issueForumDataAdapter.Status = new[]
                {
                    (int)IssueStatus.NewOrUnconfirmed,
                    (int)IssueStatus.Confirmed,
                    (int)IssueStatus.WorkaroundAvailable,
                };
            }
            else if (status == "all" && string.Equals(filter, "closed", StringComparison.InvariantCultureIgnoreCase))
            {
                issueForumDataAdapter.Status = new[]
                {
                    (int)IssueStatus.Resolved,
                    (int)IssueStatus.WillNotFix,
                    (int)IssueStatus.ByDesign,
                    (int)IssueStatus.UnableToReproduce,
                };
            }
            else
            {
                var statusWithoutHyphens = status.Replace("-", string.Empty);

                IssueStatus issueStatus;

                if (Enum.TryParse(statusWithoutHyphens, true, out issueStatus))
                {
                    issueForumDataAdapter.Status = new[] { (int)issueStatus };
                }
            }

            issueForumDataAdapter.Priority = Enum.TryParse(priority, true, out issuePriority) ? (int)issuePriority : (int?)null;

            var issueForumViewModel = new IssueForumViewModel
            {
                IssueForum = issueForumDataAdapter.Select(),
                Issues     = new PaginatedList <IIssue>(page, issueForumDataAdapter.SelectIssueCount(), issueForumDataAdapter.SelectIssues)
            };

            return(View("IssueForum", issueForumViewModel));
        }
示例#4
0
        public ActionResult Create(Guid id, string title, string authorName, string authorEmail, string copy, bool track)
        {
            var context = PortalCrmConfigurationManager.CreateServiceContext();

            var issueForum = context.CreateQuery("adx_issueforum").FirstOrDefault(issueforum => issueforum.GetAttributeValue <Guid>("adx_issueforumid") == id);

            if (issueForum == null || !Authorized(context, issueForum))
            {
                return(new EmptyResult());
            }

            var issueForumDataAdapter = new IssueForumDataAdapter(issueForum);

            TryAddIssue(issueForumDataAdapter, title, authorName, authorEmail, copy, track);

            return(PartialView("CreateIssue", issueForumDataAdapter.Select()));
        }