public List <ModuleUserControl> GetMenuModules(int menuId, int parentId = 0) { var controls = new List <ModuleUserControl>(); using (var session = new DataSession()) { var modulesRepo = new ModulesRepository(session.UnitOfWork); var modules = modulesRepo.GetMenuModules(menuId); int index = 0; foreach (var module in modules) { int moduleParentId = 0; int.TryParse(Convert.ToString(module.ParentId), out moduleParentId); if (moduleParentId != parentId) { continue; } var control = GetControlFromModuleData(module); control.ID = control.GetType().Name + "_index"; if (control != null) { controls.Add(control); } } } return(controls); }