Updated FindAndReturnChildrenByItems to be an extension method
This commit is contained in:
@@ -191,5 +191,37 @@ namespace SPTarkov.Server.Core.Extensions
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recursive function that looks at every item from parameter and gets their children's Ids + includes parent item in results
|
||||
/// </summary>
|
||||
/// <param name="items">List of items (item + possible children)</param>
|
||||
/// <param name="baseItemId">Parent item's id</param>
|
||||
/// <returns>list of child item ids</returns>
|
||||
public static List<string> FindAndReturnChildrenByItems(
|
||||
this IEnumerable<Item> items,
|
||||
string baseItemId
|
||||
)
|
||||
{
|
||||
List<string> list = [];
|
||||
|
||||
foreach (var childItem in items)
|
||||
{
|
||||
if (
|
||||
string.Equals(
|
||||
childItem.ParentId,
|
||||
baseItemId,
|
||||
StringComparison.OrdinalIgnoreCase
|
||||
)
|
||||
)
|
||||
{
|
||||
list.AddRange(FindAndReturnChildrenByItems(items, childItem.Id));
|
||||
}
|
||||
}
|
||||
|
||||
list.Add(baseItemId); // Required, push original item id onto array
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user