/// <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); } }