private IDrawnEntity ToEntity(DataTable dt, DataRow dr, IDrawnEntity parent, int level)
{
DefaultDrawnEntity newEntity = new DefaultDrawnEntity((string)dr["FullName"], orgDemo);
newEntity.Identity = ((int)dr["PersonID"]).ToString();
if (parent != null) parent.AddChild(newEntity);
DataRow[] children = dt.Select("ParentPersonID = " + dr["PersonID"].ToString());
foreach (DataRow child in children)
{
ToEntity(dt, child, newEntity, level + 1);
}
newEntity.FillBrush = new LinearGradientBrush(
new Rectangle(0, 0, newEntity.BoxSize.Width, newEntity.BoxSize.Height),
Color.White,
Color.FromArgb(200, colors[level]),
LinearGradientMode.Vertical);
return newEntity;
}