using GazpromApp.Models; using System.Collections.Generic; using System.Linq; namespace GazpromApp.Utils { public static class PropertyParentHelper { public static void SetPropertyParents(this Point point) { // Set parents for properties in point foreach (var prop in point.Properties) { SetParentsRecursively(prop); } // Set parents for properties in equipment foreach (var prop in point.Equipment.SelectMany(equipment => equipment.Properties)) { SetParentsRecursively(prop); } } private static void SetParentsRecursively(Property property) { foreach (var childProp in property.Properties) { childProp.Parent = property; childProp.ParentId = property.Id; SetParentsRecursively(childProp); } } } }