/// <summary>
        /// Updates the filter options for the view.
        /// </summary>
        public void UpdateFilterOption(string viewName, FilterOptions options)
        {
            if (!FilterOptions.ContainsKey(viewName))
                FilterOptions.Add(viewName, new FilterOptions());

            FilterOptions[viewName] = options;

            UserContext.Current.Settings.Save();
        }
Пример #2
0
        /// <summary>
        /// Creates a new <see cref="FilterOptions"/> object using the parameters passed.
        /// </summary>
        /// <param name="title">The title to filter by.</param>
        /// <param name="assignedTo">The assigned user to filter by.</param>
        /// <param name="startDate">The start date to filter by.</param>
        /// <param name="endDate">The end date to filter by.</param>
        /// <param name="status">The status to filter by.</param>
        /// <returns></returns>
        public static FilterOptions Parse(string title, string assignedTo, string startDate, string endDate, string status)
        {
            FilterOptions filterOptions = new FilterOptions();
            filterOptions.Title = title;

            // Assigned to, this could be expanded to more names
            if (assignedTo == "me")
                assignedTo = UserContext.Current.Name;

            filterOptions.AssignedTo = assignedTo;

            // Dates
            if (!string.IsNullOrEmpty(startDate))
            {
                filterOptions.StartDate = FromNamedDate(startDate);
            }

            if (!string.IsNullOrEmpty(endDate))
            {
                filterOptions.EndDate = FromNamedDate(endDate);
            }

            // Status
            if (!string.IsNullOrEmpty(status) && status != "All")
            {
                status = status.ToLower();

                switch (status)
                {
                    case "resolved":
                        filterOptions.Resolved = true;
                        break;

                    case "closed":
                        filterOptions.Closed = true;
                        break;

                    case "active":
                    default:
                        filterOptions.Active = true;
                        break;
                }
            }

            return filterOptions;
        }