/// <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); }
/// <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); }