public class OrganizationModels
{
public string EQCODE {get;set;}
public string ORGCODE { get; set; }
public string ORGNAME { get; set; }
public string PORGCODE { get; set; }
public List<OrganizationModels> CHILDREN { get; set; }
}
private List<OrganizationModels> organizationRecursion1(string orgCode, List<OrganizationModels> obj)
{
List<OrganizationModels> ls = new List<OrganizationModels>();
OrganizationModels om = new OrganizationModels();
List<OrganizationModels> subOrg = new List<OrganizationModels>();
List<OrganizationModels> subOrg1 = new List<OrganizationModels>();
om = obj.Find(i => i.ORGCODE == orgCode);
subOrg = obj.FindAll(i => i.PORGCODE == orgCode);
if (om.ORGCODE != null)
{
if (subOrg.Count > 0)
{
for (int x = 0; x < subOrg.Count; x++)
{
subOrg1.AddRange(organizationRecursion1(subOrg[x].ORGCODE, obj));
}
om.CHILDREN = subOrg1;
}
ls.Add(om);
}
return ls;
}