Ejemplo n.º 1
0
        /// <summary>
        /// Deletes the sub-entities.
        /// </summary>
        /// <param name="entityToDeleteFilter">The "filter" function that returns <c>true</c> if the entity should be removed</param>
        /// <returns>The amount of deleted entities</returns>
        public virtual int DeleteSubEntities(Func <MetaEntity, bool> entityToDeleteFilter)
        {
            int count = 0;

            for (int i = SubEntities.Count - 1; i >= 0; i--)
            {
                if (entityToDeleteFilter.Invoke(SubEntities[i]))
                {
                    SubEntities.RemoveAt(i);
                    count++;
                }
            }
            return(count);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Deletes the sub-entities specified by name(s) passed in method's parameter(s).
        /// </summary>
        /// <param name="namesToDelete">The names of the entities to delete.</param>
        /// <returns>The amount of deleted entities</returns>
        public int DeleteSubEntities(params string[] namesToDelete)
        {
            int count = 0;

            for (int i = SubEntities.Count - 1; i >= 0; i--)
            {
                if (namesToDelete.Contains(SubEntities[i].Name))
                {
                    SubEntities.RemoveAt(i);
                    count++;
                }
            }
            return(count);
        }