/// <summary>Generates a filter for pulling information from the Spira server.</summary>
        /// <param name="UserNum">The user number of the data to pull for.</param>
        /// <param name="IncludeComplete">Whether or not to include completed/closed items.</param>
        /// <param name="IncTypeCode">The string type code of the artifact. "TK", "IN", "RQ"</param>
        /// <returns>A RemoteFilter set.</returns>
        public static List <RemoteFilter> GenerateFilter(int UserNum, bool IncludeComplete, string IncTypeCode)
        {
            try
            {
                RemoteFilter userFilter = new RemoteFilter()
                {
                    PropertyName = "OwnerId", IntValue = UserNum
                };
                RemoteFilter statusFilter = new RemoteFilter();
                if (!IncludeComplete)
                {
                    switch (IncTypeCode.ToUpperInvariant())
                    {
                    case "IN":
                    {
                        statusFilter = new RemoteFilter()
                        {
                            PropertyName = "IncidentStatusId", IntValue = -2
                        };
                    }
                    break;

                    case "TK":
                    {
                        MultiValueFilter multiValue = new MultiValueFilter();
                        multiValue.Values = new List <int> {
                            1, 2, 4, 5
                        };
                        statusFilter = new RemoteFilter()
                        {
                            PropertyName = "TaskStatusId", MultiValue = multiValue
                        };
                    }
                    break;

                    case "RQ":
                    {
                        MultiValueFilter multiValue = new MultiValueFilter();
                        multiValue.Values = new List <int> {
                            1, 2, 3, 5, 7
                        };
                        statusFilter = new RemoteFilter()
                        {
                            PropertyName = "ScopeLevelId", MultiValue = multiValue
                        };
                    }
                    break;
                    }
                }

                return(new List <RemoteFilter> {
                    userFilter, statusFilter
                });
            }
            catch (Exception ex)
            {
                Logger.LogMessage(ex);
                return(null);
            }
        }
        /// <summary>Generates a filter for pulling information from the Spira server.</summary>
        /// <param name="UserNum">The user number of the data to pull for.</param>
        /// <param name="IncludeComplete">Whether or not to include completed/closed items.</param>
        /// <param name="IncTypeCode">The string type code of the artifact. "TK", "IN", "RQ"</param>
        /// <returns>A RemoteFilter set.</returns>
        private RemoteFilter[] GenerateFilter(int UserNum, bool IncludeComplete, string IncTypeCode)
        {
            try
            {
                RemoteFilter userFilter = new RemoteFilter()
                {
                    PropertyName = "OwnerId", IntValue = UserNum
                };
                RemoteFilter statusFilter = new RemoteFilter();
                if (!IncludeComplete)
                {
                    switch (IncTypeCode.ToUpperInvariant())
                    {
                    case "IN":
                    {
                        statusFilter = new RemoteFilter()
                        {
                            PropertyName = "IncidentStatusId", IntValue = -2
                        };
                    }
                    break;

                    case "TK":
                    {
                        MultiValueFilter multiValue = new MultiValueFilter();
                        multiValue.Values = new int[] { 1, 2, 4, 5 };
                        statusFilter      = new RemoteFilter()
                        {
                            PropertyName = "TaskStatusId", MultiValue = multiValue
                        };
                    }
                    break;

                    case "RQ":
                    {
                        MultiValueFilter multiValue = new MultiValueFilter();
                        multiValue.Values = new int[] { 1, 2, 3, 5, 7 };
                        statusFilter      = new RemoteFilter()
                        {
                            PropertyName = "ScopeLevelId", MultiValue = multiValue
                        };
                    }
                    break;
                    }
                }

                return(new RemoteFilter[] { userFilter, statusFilter });
            }
            catch (Exception ex)
            {
                Connect.logEventMessage("wpfProjectTree::GenerateFilter", ex, System.Diagnostics.EventLogEntryType.Error);
                return(null);
            }
        }