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