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));
        }
Exemplo n.º 2
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()));
        }