/// <summary> /// Aggiunge un Criterion generic solo se il valore di input /// viene verificato come diverso da 'null' tramite la funzione di verifica 'custom' passata a parametro. /// </summary> /// <typeparam name="T">tipo della property</typeparam> /// <param name="propName">property name</param> /// <param name="coper">tipo di operatore</param> /// <param name="inputValue">valore di input</param> /// <param name="func">funzione per la valutazione degli input 'null'</param> public static void Add <T>(this ICollection <Criterion> list, string propName, CriteriaOperator coper, T inputValue, IsNullValueDel <T> func) { if (!func.Invoke(inputValue)) { list.Add(new Criterion(propName, coper, inputValue)); } }
/// <summary> /// Aggiunge un Criterion generic di disuguaglianza che compara anche valori 'null' /// tramite la funzione di verifica 'custom' passata a parametro. /// </summary> /// <typeparam name="T">tipo della property</typeparam> /// <param name="propName">property name</param> /// <param name="inputValue">valore di input</param> /// <param name="func">funzione per la valutazione degli input 'null'</param> public static void AddNotEqual <T>(this ICollection <Criterion> list, string propName, T inputValue, IsNullValueDel <T> func) { if (func.Invoke(inputValue)) { list.Add(new Criterion(propName, CriteriaOperator.IsNotNull, inputValue)); } else { list.Add(new Criterion(propName, CriteriaOperator.NotEqual, inputValue)); } }