예제 #1
0
 /// <summary>
 /// Gets a refinement value from dimension refinement item, if it exists
 /// </summary>
 /// <param name="dItem">The dimension on which this refinement resides</param>
 /// <param name="dvidx">The unique identifier of the refinement</param>
 /// <returns></returns>
 public static string GetRefinementValue(this DimensionItem dItem, long dvidx)
 {
     if (dItem != null)
     {
         var rItem = dItem.RefinementList.FirstOrDefault(x => x.DVIdx == dvidx);
         if (rItem != null)
         {
             return(rItem.FieldValue);
         }
     }
     return(string.Empty);
 }
예제 #2
0
        /// <summary />
        public static IRefinementItem GetRefinementByMinValue(this DimensionItem dimension, long value)
        {
            if (dimension == null)
            {
                return(null);
            }
            var rItem = dimension.RefinementList.FirstOrDefault(x => x.MinValue == value);

            if (rItem != null)
            {
                return(rItem);
            }
            return(null);
        }
예제 #3
0
        /// <summary>
        /// Given a refinement value find the first associated refinement item and returns its unique DVIdx
        /// </summary>
        /// <param name="dimension"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public static long?GetDVIdxByValue(this DimensionItem dimension, string value)
        {
            if (dimension == null)
            {
                return(null);
            }
            if (value == null)
            {
                return(null);
            }
            var rItem = dimension.RefinementList.FirstOrDefault(x => x.FieldValue == value);

            if (rItem != null)
            {
                return(rItem.DVIdx);
            }
            return(null);
        }