public virtual void RemoveDynamicPropertyCriterion(DynamicPropertyCriterion Criteria)
 {
     if (HasDynamicPropertyCriterion(Criteria))
     {
         _selectionCriterion.Remove(Criteria);
     }
 }
        //public IList<WorkType> WorkTypes
        //{
        //    get
        //    {
        //        return workTypes;
        //    }
        //    set
        //    {
        //        workTypes = value;
        //    }
        //}

        public virtual void AddDynamicPropertyCriterion(DynamicPropertyCriterion Criteria)
        {
            if (!HasDynamicPropertyCriterion(Criteria))
            {
                _selectionCriterion.Add(Criteria);
            }
        }
        public virtual bool HasDynamicPropertyCriterion(DynamicPropertyCriterion Criteria)
        {
            var item = _selectionCriterion.Where(x => x.PropertyNameProvider.StaticInstanceID == Criteria.PropertyNameProvider.StaticInstanceID).FirstOrDefault( );

            return(item != null);
        }