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