/// <summary>
 /// method CloneBase
 /// makes a clone of the base business entity properties
 /// </summary>
 /// <param name="newObj"></param>
 protected void CloneBase(BaseBusinessEntity newObj)
 {
     //newObj.CreatorID = this.CreatorID;
     //newObj.CreatedTimeStamp = this.CreatedTimeStamp;
     //newObj.ModifierID = this.ModifierID;
     //newObj.ModifiedTimeStamp = this.ModifiedTimeStamp;
     //newObj.IsDeleted = this.IsDeleted;
 }
        /// <summary>
        /// method: MatchRowState
        /// checks for matching row states
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        private bool MatchRowState(T obj)
        {
            BaseBusinessEntity baseObj = obj as BaseBusinessEntity;

            if (obj != null)
            {
                return(baseObj.RowState == _RowStateParam);
            }

            return(false);
        }
        public bool CustomPropertyMatch(object obj)
        {
            BaseBusinessEntity temp = obj as BaseBusinessEntity;

            if (temp != null)
            {
                if (this.CustomProperties != null)
                {
                    foreach (CustomProperty actualProp in this.CustomProperties)
                    {
                        if (temp.CustomProperties[actualProp.Key] == null ||
                            actualProp.Value != temp.CustomProperties[actualProp.Key])
                        {
                            return(false);
                        }
                    }
                }
            }

            return(true);
        }
 /// <summary>
 /// Method: UpdatedPredicate
 /// checks if some object is updated or not
 /// </summary>
 /// <param name="obj">an instance of BaseBusinessEntity</param>
 /// <returns></returns>
 public bool UpdatedPredicate(BaseBusinessEntity obj)
 {
     return(obj.RowState == RowStateEnum.UpdatedRow);
 }