Files
Nuvolar/Nuvolar.Module/Controllers/Linq/ModelListViewLinqNodesGeneratorUpdater.vb
2017-03-08 11:21:27 +01:00

28 lines
1.5 KiB
VB.net

Imports DevExpress.ExpressApp.Model
Imports DevExpress.ExpressApp.Model.Core
Imports DevExpress.ExpressApp.Model.NodeGenerators
Imports Nuvolar.Module.Dennis.Linq
Public Class ModelListViewLinqNodesGeneratorUpdater
Inherits ModelNodesGeneratorUpdater(Of ModelViewsNodesGenerator)
Public Overrides Sub UpdateNode(ByVal node As ModelNode)
For Each classInfo As IModelClass In node.Application.BOModel
If classInfo.TypeInfo.IsPersistent Then
If (Not String.IsNullOrEmpty(classInfo.Name)) Then
For Each method As String In LinqCollectionSourceHelper.GetXPQueryMethods(classInfo.TypeInfo.Type)
Dim id As String = String.Format("{0}_{1}{2}", ModelListViewNodesGenerator.GetListViewId(classInfo.TypeInfo.Type), method, LinqCollectionSource.DefaultSuffix)
Dim listViewInfo As IModelListView = node.Application.Views.GetNode(id)
If listViewInfo Is Nothing Then
listViewInfo = node.AddNode(Of IModelListView)(id)
End If
listViewInfo.ModelClass = classInfo
If TryCast(listViewInfo, IModelListViewLinq) IsNot Nothing Then
CType(listViewInfo, IModelListViewLinq).XPQueryMethod = method
End If
Next method
End If
End If
Next classInfo
End Sub
End Class