so doing displaying list of categories in page , each category contains sublist of categories. have controller , returning list of categories without sublist of categories. how can sublist showing using same controller.
controller:
public courseindexvw get(int id) { var _types = new elementtypesservice().getelementmodelsforcourseindex(id, websecurity.currentuserid); var _courseindexbytypesvw = new coursesectionscontrollerhelper().courseindextypevw(id); _courseindexbytypesvw.types = _types.tolist(); var _activetype = _courseindexbytypesvw.types.first(); _courseindexbytypesvw.activeid = _activetype != null ? _activetype.id : -1; return _courseindexbytypesvw; }
getelementmodelsforcourseindex:
public list<elementmodelforcourseindex> getelementmodelsforcourseindex(int elementid, int userid, int depthlevel = 2) { list<elementmodelforcourseindex> typesname; elementtype type; using (var db = datacontextmanager.alestoredprocscontext) { typesname = db.getelementmodelsforcourseindex<elementmodelforcourseindex>(elementid, userid, r => new elementmodelforcourseindex{ id = elementsmodelsforcourseindexmap.id(r), identity = elementsmodelsforcourseindexmap.identity(r) }).orderby(n=>n.identity).tolist(); } foreach (elementmodelforcourseindex typecontent in typesname) { typecontent.children = getelementchildrenmodelsforcourseindex(elementid, userid, type.modelid, depthlevel); } }
getelementchildrenmodelsforcourseindex:
public list<elementmodelforcourseindex> getelementchildrenmodelsforcourseindex(int elementid, int userid, elementtype typeid, int depthlevel = 2) { using (var db = datacontextmanager.alestoredprocscontext) { return db.getelementwithcalendarandpermsbymodel<elementmodelforcourseindex>(elementid, userid, typeid.id, r => new elementmodelforcourseindex { identityname = elementsmodelsforcourseindexmap.identityname(r), valuestring = elementsmodelsforcourseindexmap.valuestring(r), timereleased = elementsmodelsforcourseindexmap.timereleased(r), timedue = elementsmodelsforcourseindexmap.timereleased(r) }).orderby(i => i.identityname).tolist(); } }
update current issue typecontent.children = getelementchildrenmodelsforcourseindex(elementid, userid, type.modelid, depthlevel);
error getting is: override method has invalid arguments appreciated , if missing information let me know. thanks!
you can modify model , add children
property:
public class elementmodelforcourseindex { // *snip* code public list<elementmodelforcourseindex> children {get; set;} }
you either within current getelementmodelsforcourseindex
or use helper method this:
public list<elementmodelforcourseindex> getelementmodelsforcourseindex(int elementid, int userid, int depthlevel = 2) { list<elementmodelforcourseindex> courses; using (var db = datacontextmanager.alestoredprocscontext) { courses = db.getelementmodelsforcourseindex<elementmodelforcourseindex>(elementid, userid, r => new elementmodelforcourseindex{ id = elementsmodelsforcourseindexmap.id(r), identity = elementsmodelsforcourseindexmap.identity(r) }).orderby(n=>n.identity).tolist(); } each(elementmodelforcourseindex course in courses) { // here filling children. //you need check if parameters correct ones. // since haven't shown actual model class, i'm guessing parameters course.children = getelementchildrenmodelsforcourseindex(elementid, userid, depthlevel); } return courses; }
Comments
Post a Comment