/// <summary> /// Filter a set of Buggs by user group name. /// </summary> /// <param name="SetOfBuggs">The unfiltered set of Buggs.</param> /// <param name="UserGroup">The user group name to filter by.</param> /// <returns>The set of Buggs by users in the requested user group.</returns> public IQueryable <Bugg> FilterByUserGroup(IQueryable <Bugg> SetOfBuggs, string UserGroup) { IQueryable <Bugg> NewSetOfBuggs = null; try { NewSetOfBuggs = ( from BuggDetail in SetOfBuggs join BuggsUserGroupDetail in BuggsDataContext.Buggs_UserGroups on BuggDetail.Id equals BuggsUserGroupDetail.BuggId join UserGroupDetail in BuggsDataContext.UserGroups on BuggsUserGroupDetail.UserGroupId equals UserGroupDetail.Id where UserGroupDetail.Name.Contains(UserGroup) select BuggDetail ); #if DEBUG foreach (var MyBugg in NewSetOfBuggs) { Debug.WriteLine("FilterByUserGroup=" + MyBugg.ToString()); } #endif } catch (Exception Ex) { Debug.WriteLine("Exception in FilterByUserGroup: " + Ex.ToString()); } return(NewSetOfBuggs); }
/// <summary> /// Filter a set of Buggs to a date range. /// </summary> /// <param name="Results">The unfiltered set of Buggs.</param> /// <param name="DateFrom">The earliest date to filter by.</param> /// <param name="DateTo">The latest date to filter by.</param> /// <returns>The set of Buggs between the earliest and latest date.</returns> public IQueryable <Bugg> FilterByDate(IQueryable <Bugg> Results, DateTime DateFrom, DateTime DateTo) { IQueryable <Bugg> BuggsInTimeFrame = Results.Where(Bugg => Bugg.TimeOfLastCrash >= DateFrom && Bugg.TimeOfLastCrash <= AddOneDayToDate(DateTo)); #if DEBUG foreach (var MyBugg in BuggsInTimeFrame) { Debug.WriteLine("FilterByDate=" + MyBugg.ToString()); } #endif return(BuggsInTimeFrame); }
/// <summary> /// Filter a set of Buggs by build version. /// </summary> /// <param name="Results">The unfiltered set of Buggs.</param> /// <param name="BuildVersion">The build version to filter by.</param> /// <returns>The set of Buggs that matches specified build version</returns> public IQueryable <Bugg> FilterByBuildVersion(IQueryable <Bugg> Results, string BuildVersion) { IQueryable <Bugg> BuggsForBuildVersion = Results; // Filter by BuildVersion if (!string.IsNullOrEmpty(BuildVersion)) { BuggsForBuildVersion = ( from MyBugg in Results where MyBugg.BuildVersion.Contains(BuildVersion) select MyBugg ); #if DEBUG foreach (var MyBugg in BuggsForBuildVersion) { Debug.WriteLine("FilterByBuildVersion=" + MyBugg.ToString()); } #endif } return(BuggsForBuildVersion); }