예제 #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="useFavorites"></param>
 /// <param name="favoriteParameter"></param>
 /// <returns></returns>
 private static dynamic UseFavorite(ListGenerator.ListGenerator.FilterOnFavorites useFavorites,
                                    IParameter favoriteParameter)
 {
     return((useFavorites == ListGenerator.ListGenerator.FilterOnFavorites.All) ||
            ((favoriteParameter != null) &&
             (useFavorites == ListGenerator.ListGenerator.FilterOnFavorites.No) &&
             !favoriteParameter.Value) ||
            ((favoriteParameter != null) &&
             (useFavorites == ListGenerator.ListGenerator.FilterOnFavorites.Yes) &&
             favoriteParameter.Value));
 }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ignoreInit"></param>
        /// <param name="filterOnText"></param>
        /// <param name="filterText"></param>
        /// <param name="caseSensitive"></param>
        /// <param name="useFavorites"></param>
        /// <param name="filterDescription"></param>
        /// <returns></returns>
        public bool UseInList(
            bool ignoreInit, bool filterOnText, string filterText, bool caseSensitive,
            ListGenerator.ListGenerator.FilterOnFavorites useFavorites,
            bool filterDescription)
        {
            // Check ignore.
            var usePatch = (!ignoreInit || !IsEmptyOrInit);

            // Check text filtering.
            usePatch &= FilterOnText(filterOnText, filterText, caseSensitive, filterDescription);

            usePatch &= CheckFavorite(useFavorites, usePatch);

            return(usePatch);
        }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="useFavorites"></param>
        /// <param name="usePatch"></param>
        /// <returns></returns>
        private bool CheckFavorite(ListGenerator.ListGenerator.FilterOnFavorites useFavorites, bool usePatch)
        {
            var areFavoritesSupported = PcgRoot.AreFavoritesSupported;

            if (areFavoritesSupported)
            {
                var favoriteParameter =
                    (this is IProgram)
                        ? ((IProgram)this).GetParam(ParameterNames.ProgramParameterName.Favorite)
                        : (this is ICombi)
                            ? ((ICombi)this).GetParam(ParameterNames.CombiParameterName.Favorite)
                            : null; // TODO: Fix this ugly code
                usePatch &= PcgRoot.AreFavoritesSupported &&
                            UseFavorite(useFavorites, favoriteParameter);
            }
            return(usePatch);
        }