示例#1
0
文件: FacetMap.cs 项目: JabX/kinetix
        /// <summary>
        /// Ajoute une facette explicitement nommée en fournissant des filtres permettant la construction.
        /// </summary>
        /// <param name="facetName">Nom du filtre.</param>
        /// <param name="facets">Filtres appliqués à la facette.</param>
        /// <returns>Le mapper.</returns>
        public IFacetMap <TResource> AddFacetOn(string facetName, IFacetFilters <TResource> facets)
        {
            if (string.IsNullOrEmpty(facetName))
            {
                throw new ArgumentNullException("facetName");
            }

            if (facets == null)
            {
                throw new ArgumentNullException("facets");
            }

            if (_facetFilters.ContainsKey(facetName))
            {
                throw new NotSupportedException("FacetMap already contains a facet with the same name.");
            }

            _facetFilters[facetName] = facets;
            return(this);
        }
示例#2
0
文件: FacetMap.cs 项目: JabX/kinetix
        /// <summary>
        /// Ajoute une facette avec filtre explicite dont le nom est tirée du sélecteur de propriété.
        /// </summary>
        /// <typeparam name="TResult">Propriété sélectionnée.</typeparam>
        /// <param name="facetValue">Lambda expression permettant de sélectionner la propriété.</param>
        /// <param name="facets">Filtres appliqués à la facette.</param>
        /// <returns>Mapping de la facette.</returns>
        public IFacetMap <TResource> AddFacetOn <TResult>(Expression <Func <TResource, TResult> > facetValue, IFacetFilters <TResource> facets)
        {
            if (facetValue == null)
            {
                throw new ArgumentNullException("facetValue");
            }

            if (facets == null)
            {
                throw new ArgumentNullException("facets");
            }

            return(AddFacetOn(RetrieveFacetName(facetValue), facets));
        }