public QueryResult <TreeNode> Execute(string dataSource, Guid parentId, TreeNodePath path, int pageSize, int pageNumber) { QueryResult <TreeNode> nodes = null; var serviceLocator = ServiceLocator.GetActive(); var dataProvider = serviceLocator.DataProvider; using (var session = dataProvider.OpenSession()) { using (var transaction = session.BeginTransaction()) { switch (dataSource) { case ObjectTreeDataSource.ProjectTreeView: nodes = new ProjectTreeViewDataSource().GetNodes(parentId, path, session, pageSize, pageNumber); break; default: throw new InvalidOperationException(String.Format("Unsupported data source: {0}", dataSource)); } } } return(nodes); }
public ResponseBase Execute(RequestBase request) { var getNodesRequest = request as GetTreeNodesRequest; if (getNodesRequest == null) { throw new InvalidOperationException("Request is null or wrong request type. Expected: GetTreeNodesRequest."); } IList <TreeNode> nodes = null; var serviceLocator = ServiceLocator.GetActive(); var dataProvider = serviceLocator.DataProvider; using (var session = dataProvider.OpenSession()) { using (var transaction = session.BeginTransaction()) { switch (getNodesRequest.DataSource) { case ObjectTreeDataSource.ProjectTreeView: nodes = new ProjectTreeViewDataSource().GetNodes( getNodesRequest.ParentID, getNodesRequest.Path, session, getNodesRequest.PageSize, getNodesRequest.PageNumber); break; default: throw new InvalidOperationException(String.Format("Unsupported data source: {0}", getNodesRequest.DataSource)); } } } return(new GetTreeNodesResponse(nodes)); }