I have a model which consist multi level of sub models. Now I want to filter the data based on most bottom level of child element. Please see the code (it's just for reference)
var treatmentItemss = new List<TreatmentItemViewModel>();
IEnumerable<IPublishedContent> countries = UmbracoContext.Content.GetById(contentId: 1063).Children();
foreach (var country in countries)
{
IEnumerable<IPublishedContent> countys = country.Children();
foreach (var county in countys)
{
IEnumerable<IPublishedContent> cities = county.Children();
foreach (var city in cities)
{
IEnumerable<IPublishedContent> clinics = city.Children();
foreach (var clinic in clinics)
{
IEnumerable<IPublishedContent> clinics2 = clinic.Children();
foreach (var clinic2 in clinics2)
{
IEnumerable<IPublishedContent> treatmentMenus = clinic2.Children();
foreach (var treatmentMenu in treatmentMenus)
{
IEnumerable<IPublishedContent> treatmentCategories = treatmentMenu.Children();
foreach (var treatmentCategory in treatmentCategories)
{
dynamic treatmentItems = treatmentCategory.Children();
foreach (var item in treatmentItems)
{
treatmentItemss.Add(new TreatmentItemViewModel
{
SurgicalProcedure = item.SurgicalProcedure?.Name,
NonSurgicalTreatment = item.NonSurgicalTreatment?.Name,
Title = item.Title,
Id = item.Id,
});
}
}
}
}
}
}
}
}
In above code I want to fetch the data base on SurgicalProcedure.Name
for example, I want to get all the data of countries in which SurgicalProcedure.Name == "Angioplasty"
.