diff --git a/VB/NonPersistentObjectsDemo.Module.Web/NonPersistentObjectsDemo.Module.Web.vbproj b/VB/NonPersistentObjectsDemo.Module.Web/NonPersistentObjectsDemo.Module.Web.vbproj
index ae3b5d5..3035fe5 100644
--- a/VB/NonPersistentObjectsDemo.Module.Web/NonPersistentObjectsDemo.Module.Web.vbproj
+++ b/VB/NonPersistentObjectsDemo.Module.Web/NonPersistentObjectsDemo.Module.Web.vbproj
@@ -1,62 +1,44 @@
-
+
+ On
Debug
AnyCPU
{EFD113F7-1ED0-472C-8EBE-B1A7CAFB6C2B}
Library
-
+ Properties
+
+
NonPersistentObjectsDemo.Module.Web
v4.5.2
512
- On
- Binary
- Off
- On
true
full
false
bin\Debug\
- true
- true
+ DEBUG,TRACE
prompt
- true
+ 4
pdbonly
true
bin\Release\
- false
- true
+ TRACE
prompt
- true
+ 4
true
bin\EasyTest\
- true
- true
- EASYTEST=True
+ TRACE,DEBUG,EASYTEST
full
AnyCPU
prompt
- true
-
-
-
-
-
-
-
-
-
-
-
-
False
@@ -207,7 +189,7 @@
Component
-
+
WebModule.vb
@@ -233,11 +215,11 @@
-
-
+
\ No newline at end of file
diff --git a/VB/NonPersistentObjectsDemo.Module.Web/Properties/AssemblyInfo.vb b/VB/NonPersistentObjectsDemo.Module.Web/Properties/AssemblyInfo.vb
new file mode 100644
index 0000000..fa201d0
--- /dev/null
+++ b/VB/NonPersistentObjectsDemo.Module.Web/Properties/AssemblyInfo.vb
@@ -0,0 +1,29 @@
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' General Information about an assembly is controlled through the following
+' set of attributes. Change these attribute values to modify the information
+' associated with an assembly.
+
+
+
+
+
+
+
+
+' Setting ComVisible to false makes the types in this assembly not visible
+' to COM components. If you need to access a type in this assembly from
+' COM, set the ComVisible attribute to true on that type.
+
+' The following GUID is for the ID of the typelib if this project is exposed to COM
+
+' Version information for an assembly consists of the following four values:
+'
+' Major Version
+' Minor Version
+' Build Number
+' Revision
+'
+
+
diff --git a/VB/NonPersistentObjectsDemo.Module.Web/WebModule.Designer.vb b/VB/NonPersistentObjectsDemo.Module.Web/WebModule.Designer.vb
index af4f58e..6c03429 100644
--- a/VB/NonPersistentObjectsDemo.Module.Web/WebModule.Designer.vb
+++ b/VB/NonPersistentObjectsDemo.Module.Web/WebModule.Designer.vb
@@ -1,41 +1,42 @@
-Namespace NonPersistentObjectsDemo.Module.Web
- Partial Public Class NonPersistentObjectsDemoAspNetModule
- '''
- ''' Required designer variable.
- '''
- Private components As System.ComponentModel.IContainer = Nothing
+Namespace NonPersistentObjectsDemo.[Module].Web
- '''
- ''' Clean up any resources being used.
- '''
- ''' true if managed resources should be disposed; otherwise, false.
- Protected Overrides Sub Dispose(ByVal disposing As Boolean)
- If disposing AndAlso (components IsNot Nothing) Then
- components.Dispose()
- End If
- MyBase.Dispose(disposing)
- End Sub
+ Partial Class NonPersistentObjectsDemoAspNetModule
- #Region "Component Designer generated code"
+ '''
+ ''' Required designer variable.
+ '''
+ Private components As System.ComponentModel.IContainer = Nothing
- '''
- ''' Required method for Designer support - do not modify
- ''' the contents of this method with the code editor.
- '''
- Private Sub InitializeComponent()
- '
- ' NonPersistentObjectsDemoAspNetModule
- '
- Me.RequiredModuleTypes.Add(GetType(NonPersistentObjectsDemo.Module.NonPersistentObjectsDemoModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Web.SystemModule.SystemAspNetModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.FileAttachments.Web.FileAttachmentsAspNetModule))
- 'this.RequiredModuleTypes.Add(typeof(DevExpress.ExpressApp.ReportsV2.Web.ReportsAspNetModuleV2));
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Scheduler.Web.SchedulerAspNetModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.ScriptRecorder.Web.ScriptRecorderAspNetModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.TreeListEditors.Web.TreeListEditorsAspNetModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Validation.Web.ValidationAspNetModule))
- End Sub
+ '''
+ ''' Clean up any resources being used.
+ '''
+ ''' true if managed resources should be disposed; otherwise, false.
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ If disposing AndAlso (Me.components IsNot Nothing) Then
+ Me.components.Dispose()
+ End If
- #End Region
- End Class
+ MyBase.Dispose(disposing)
+ End Sub
+
+#Region "Component Designer generated code"
+ '''
+ ''' Required method for Designer support - do not modify
+ ''' the contents of this method with the code editor.
+ '''
+ Private Sub InitializeComponent()
+ '
+ ' NonPersistentObjectsDemoAspNetModule
+ '
+ Me.RequiredModuleTypes.Add(GetType(NonPersistentObjectsDemo.[Module].NonPersistentObjectsDemoModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Web.SystemModule.SystemAspNetModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.FileAttachments.Web.FileAttachmentsAspNetModule))
+ 'this.RequiredModuleTypes.Add(typeof(DevExpress.ExpressApp.ReportsV2.Web.ReportsAspNetModuleV2));
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Scheduler.Web.SchedulerAspNetModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.ScriptRecorder.Web.ScriptRecorderAspNetModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.TreeListEditors.Web.TreeListEditorsAspNetModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Validation.Web.ValidationAspNetModule))
+ End Sub
+#End Region
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module.Web/WebModule.vb b/VB/NonPersistentObjectsDemo.Module.Web/WebModule.vb
index cd440ac..efac6f6 100644
--- a/VB/NonPersistentObjectsDemo.Module.Web/WebModule.vb
+++ b/VB/NonPersistentObjectsDemo.Module.Web/WebModule.vb
@@ -1,44 +1,39 @@
-Imports System
-Imports System.Linq
-Imports System.Text
+Imports System
Imports System.ComponentModel
Imports DevExpress.ExpressApp
-Imports DevExpress.ExpressApp.DC
Imports System.Collections.Generic
-Imports DevExpress.ExpressApp.Model
-Imports DevExpress.ExpressApp.Editors
-Imports DevExpress.ExpressApp.Actions
Imports DevExpress.ExpressApp.Updating
-Imports DevExpress.ExpressApp.Model.Core
-Imports DevExpress.ExpressApp.Model.DomainLogics
-Imports DevExpress.ExpressApp.Model.NodeGenerators
Imports DevExpress.Persistent.BaseImpl
Namespace NonPersistentObjectsDemo.Module.Web
- ' For more typical usage scenarios, be sure to check out https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.ModuleBase.
-
- Public NotInheritable Partial Class NonPersistentObjectsDemoAspNetModule
- Inherits ModuleBase
- 'private void Application_CreateCustomModelDifferenceStore(Object sender, CreateCustomModelDifferenceStoreEventArgs e) {
- ' e.Store = new ModelDifferenceDbStore((XafApplication)sender, typeof(ModelDifference), true, "Web");
- ' e.Handled = true;
- '}
- Private Sub Application_CreateCustomUserModelDifferenceStore(ByVal sender As Object, ByVal e As CreateCustomModelDifferenceStoreEventArgs)
- e.Store = New ModelDifferenceDbStore(DirectCast(sender, XafApplication), GetType(ModelDifference), False, "Web")
- e.Handled = True
- End Sub
- Public Sub New()
- InitializeComponent()
- End Sub
- Public Overrides Function GetModuleUpdaters(ByVal objectSpace As IObjectSpace, ByVal versionFromDB As Version) As IEnumerable(Of ModuleUpdater)
- Return ModuleUpdater.EmptyModuleUpdaters
- End Function
- Public Overrides Sub Setup(ByVal application As XafApplication)
- MyBase.Setup(application)
- 'application.CreateCustomModelDifferenceStore += Application_CreateCustomModelDifferenceStore;
- AddHandler application.CreateCustomUserModelDifferenceStore, AddressOf Application_CreateCustomUserModelDifferenceStore
- ' Manage various aspects of the application UI and behavior at the module level.
- End Sub
- End Class
+
+ ' For more typical usage scenarios, be sure to check out https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.ModuleBase.
+ Public NotInheritable Partial Class NonPersistentObjectsDemoAspNetModule
+ Inherits ModuleBase
+
+ 'private void Application_CreateCustomModelDifferenceStore(Object sender, CreateCustomModelDifferenceStoreEventArgs e) {
+ ' e.Store = new ModelDifferenceDbStore((XafApplication)sender, typeof(ModelDifference), true, "Web");
+ ' e.Handled = true;
+ '}
+ Private Sub Application_CreateCustomUserModelDifferenceStore(ByVal sender As Object, ByVal e As CreateCustomModelDifferenceStoreEventArgs)
+ e.Store = New ModelDifferenceDbStore(CType(sender, XafApplication), GetType(ModelDifference), False, "Web")
+ e.Handled = True
+ End Sub
+
+ Public Sub New()
+ InitializeComponent()
+ End Sub
+
+ Public Overrides Function GetModuleUpdaters(ByVal objectSpace As IObjectSpace, ByVal versionFromDB As Version) As IEnumerable(Of ModuleUpdater)
+ Return ModuleUpdater.EmptyModuleUpdaters
+ End Function
+
+ Public Overrides Sub Setup(ByVal application As XafApplication)
+ MyBase.Setup(application)
+ 'application.CreateCustomModelDifferenceStore += Application_CreateCustomModelDifferenceStore;
+ AddHandler application.CreateCustomUserModelDifferenceStore, AddressOf Application_CreateCustomUserModelDifferenceStore
+ ' Manage various aspects of the application UI and behavior at the module level.
+ End Sub
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module.Win/NonPersistentObjectsDemo.Module.Win.vbproj b/VB/NonPersistentObjectsDemo.Module.Win/NonPersistentObjectsDemo.Module.Win.vbproj
index a6a0475..9fcb9d9 100644
--- a/VB/NonPersistentObjectsDemo.Module.Win/NonPersistentObjectsDemo.Module.Win.vbproj
+++ b/VB/NonPersistentObjectsDemo.Module.Win/NonPersistentObjectsDemo.Module.Win.vbproj
@@ -1,63 +1,44 @@
-
+
+ On
Debug
AnyCPU
{72D644CD-C193-4572-B2E3-CA82819A1627}
Library
-
+ Properties
+
+
NonPersistentObjectsDemo.Module.Win
v4.5.2
512
- On
- Binary
- Off
- On
true
full
false
bin\Debug\
- true
- true
+ DEBUG,TRACE
prompt
- true
+ 4
pdbonly
true
bin\Release\
- false
- true
+ TRACE
prompt
- true
+ 4
true
bin\EasyTest\
- true
- true
- EASYTEST=True
+ TRACE,DEBUG,EASYTEST
full
AnyCPU
prompt
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
False
@@ -237,7 +218,7 @@
-
+
Component
@@ -271,11 +252,11 @@
-
-
+
\ No newline at end of file
diff --git a/VB/NonPersistentObjectsDemo.Module.Win/Properties/AssemblyInfo.vb b/VB/NonPersistentObjectsDemo.Module.Win/Properties/AssemblyInfo.vb
new file mode 100644
index 0000000..134d492
--- /dev/null
+++ b/VB/NonPersistentObjectsDemo.Module.Win/Properties/AssemblyInfo.vb
@@ -0,0 +1,29 @@
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' General Information about an assembly is controlled through the following
+' set of attributes. Change these attribute values to modify the information
+' associated with an assembly.
+
+
+
+
+
+
+
+
+' Setting ComVisible to false makes the types in this assembly not visible
+' to COM components. If you need to access a type in this assembly from
+' COM, set the ComVisible attribute to true on that type.
+
+' The following GUID is for the ID of the typelib if this project is exposed to COM
+
+' Version information for an assembly consists of the following four values:
+'
+' Major Version
+' Minor Version
+' Build Number
+' Revision
+'
+
+
diff --git a/VB/NonPersistentObjectsDemo.Module.Win/WinModule.Designer.vb b/VB/NonPersistentObjectsDemo.Module.Win/WinModule.Designer.vb
index cdd7a52..e442a8a 100644
--- a/VB/NonPersistentObjectsDemo.Module.Win/WinModule.Designer.vb
+++ b/VB/NonPersistentObjectsDemo.Module.Win/WinModule.Designer.vb
@@ -1,41 +1,42 @@
-Namespace NonPersistentObjectsDemo.Module.Win
- Partial Public Class NonPersistentObjectsDemoWindowsFormsModule
- '''
- ''' Required designer variable.
- '''
- Private components As System.ComponentModel.IContainer = Nothing
+Namespace NonPersistentObjectsDemo.[Module].Win
- '''
- ''' Clean up any resources being used.
- '''
- ''' true if managed resources should be disposed; otherwise, false.
- Protected Overrides Sub Dispose(ByVal disposing As Boolean)
- If disposing AndAlso (components IsNot Nothing) Then
- components.Dispose()
- End If
- MyBase.Dispose(disposing)
- End Sub
+ Partial Class NonPersistentObjectsDemoWindowsFormsModule
- #Region "Component Designer generated code"
+ '''
+ ''' Required designer variable.
+ '''
+ Private components As System.ComponentModel.IContainer = Nothing
- '''
- ''' Required method for Designer support - do not modify
- ''' the contents of this method with the code editor.
- '''
- Private Sub InitializeComponent()
- '
- ' NonPersistentObjectsDemoWindowsFormsModule
- '
- Me.RequiredModuleTypes.Add(GetType(NonPersistentObjectsDemo.Module.NonPersistentObjectsDemoModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Win.SystemModule.SystemWindowsFormsModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.FileAttachments.Win.FileAttachmentsWindowsFormsModule))
- 'this.RequiredModuleTypes.Add(typeof(DevExpress.ExpressApp.ReportsV2.Win.ReportsWindowsFormsModuleV2));
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Scheduler.Win.SchedulerWindowsFormsModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.ScriptRecorder.Win.ScriptRecorderWindowsFormsModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.TreeListEditors.Win.TreeListEditorsWindowsFormsModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Validation.Win.ValidationWindowsFormsModule))
- End Sub
+ '''
+ ''' Clean up any resources being used.
+ '''
+ ''' true if managed resources should be disposed; otherwise, false.
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ If disposing AndAlso (Me.components IsNot Nothing) Then
+ Me.components.Dispose()
+ End If
- #End Region
- End Class
+ MyBase.Dispose(disposing)
+ End Sub
+
+#Region "Component Designer generated code"
+ '''
+ ''' Required method for Designer support - do not modify
+ ''' the contents of this method with the code editor.
+ '''
+ Private Sub InitializeComponent()
+ '
+ ' NonPersistentObjectsDemoWindowsFormsModule
+ '
+ Me.RequiredModuleTypes.Add(GetType(NonPersistentObjectsDemo.[Module].NonPersistentObjectsDemoModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Win.SystemModule.SystemWindowsFormsModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.FileAttachments.Win.FileAttachmentsWindowsFormsModule))
+ 'this.RequiredModuleTypes.Add(typeof(DevExpress.ExpressApp.ReportsV2.Win.ReportsWindowsFormsModuleV2));
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Scheduler.Win.SchedulerWindowsFormsModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.ScriptRecorder.Win.ScriptRecorderWindowsFormsModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.TreeListEditors.Win.TreeListEditorsWindowsFormsModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Validation.Win.ValidationWindowsFormsModule))
+ End Sub
+#End Region
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module.Win/WinModule.vb b/VB/NonPersistentObjectsDemo.Module.Win/WinModule.vb
index c53f375..d9cc290 100644
--- a/VB/NonPersistentObjectsDemo.Module.Win/WinModule.vb
+++ b/VB/NonPersistentObjectsDemo.Module.Win/WinModule.vb
@@ -1,44 +1,39 @@
-Imports System
-Imports System.Linq
-Imports System.Text
+Imports System
Imports System.ComponentModel
Imports DevExpress.ExpressApp
-Imports DevExpress.ExpressApp.DC
Imports System.Collections.Generic
-Imports DevExpress.ExpressApp.Model
-Imports DevExpress.ExpressApp.Editors
-Imports DevExpress.ExpressApp.Actions
Imports DevExpress.ExpressApp.Updating
-Imports DevExpress.ExpressApp.Model.Core
-Imports DevExpress.ExpressApp.Model.DomainLogics
-Imports DevExpress.ExpressApp.Model.NodeGenerators
Imports DevExpress.Persistent.BaseImpl
Namespace NonPersistentObjectsDemo.Module.Win
- ' For more typical usage scenarios, be sure to check out https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.ModuleBase.
-
- Public NotInheritable Partial Class NonPersistentObjectsDemoWindowsFormsModule
- Inherits ModuleBase
- 'private void Application_CreateCustomModelDifferenceStore(Object sender, CreateCustomModelDifferenceStoreEventArgs e) {
- ' e.Store = new ModelDifferenceDbStore((XafApplication)sender, typeof(ModelDifference), true, "Win");
- ' e.Handled = true;
- '}
- Private Sub Application_CreateCustomUserModelDifferenceStore(ByVal sender As Object, ByVal e As CreateCustomModelDifferenceStoreEventArgs)
- e.Store = New ModelDifferenceDbStore(DirectCast(sender, XafApplication), GetType(ModelDifference), False, "Win")
- e.Handled = True
- End Sub
- Public Sub New()
- InitializeComponent()
- End Sub
- Public Overrides Function GetModuleUpdaters(ByVal objectSpace As IObjectSpace, ByVal versionFromDB As Version) As IEnumerable(Of ModuleUpdater)
- Return ModuleUpdater.EmptyModuleUpdaters
- End Function
- Public Overrides Sub Setup(ByVal application As XafApplication)
- MyBase.Setup(application)
- 'application.CreateCustomModelDifferenceStore += Application_CreateCustomModelDifferenceStore;
- AddHandler application.CreateCustomUserModelDifferenceStore, AddressOf Application_CreateCustomUserModelDifferenceStore
- ' Manage various aspects of the application UI and behavior at the module level.
- End Sub
- End Class
+
+ ' For more typical usage scenarios, be sure to check out https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.ModuleBase.
+ Public NotInheritable Partial Class NonPersistentObjectsDemoWindowsFormsModule
+ Inherits ModuleBase
+
+ 'private void Application_CreateCustomModelDifferenceStore(Object sender, CreateCustomModelDifferenceStoreEventArgs e) {
+ ' e.Store = new ModelDifferenceDbStore((XafApplication)sender, typeof(ModelDifference), true, "Win");
+ ' e.Handled = true;
+ '}
+ Private Sub Application_CreateCustomUserModelDifferenceStore(ByVal sender As Object, ByVal e As CreateCustomModelDifferenceStoreEventArgs)
+ e.Store = New ModelDifferenceDbStore(CType(sender, XafApplication), GetType(ModelDifference), False, "Win")
+ e.Handled = True
+ End Sub
+
+ Public Sub New()
+ InitializeComponent()
+ End Sub
+
+ Public Overrides Function GetModuleUpdaters(ByVal objectSpace As IObjectSpace, ByVal versionFromDB As Version) As IEnumerable(Of ModuleUpdater)
+ Return ModuleUpdater.EmptyModuleUpdaters
+ End Function
+
+ Public Overrides Sub Setup(ByVal application As XafApplication)
+ MyBase.Setup(application)
+ 'application.CreateCustomModelDifferenceStore += Application_CreateCustomModelDifferenceStore;
+ AddHandler application.CreateCustomUserModelDifferenceStore, AddressOf Application_CreateCustomUserModelDifferenceStore
+ ' Manage various aspects of the application UI and behavior at the module level.
+ End Sub
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module/BusinessObjects/DemoData.vb b/VB/NonPersistentObjectsDemo.Module/BusinessObjects/DemoData.vb
index 489cc63..92d3006 100644
--- a/VB/NonPersistentObjectsDemo.Module/BusinessObjects/DemoData.vb
+++ b/VB/NonPersistentObjectsDemo.Module/BusinessObjects/DemoData.vb
@@ -1,45 +1,46 @@
-Imports System
-Imports System.Collections.Generic
-Imports System.Linq
-Imports System.Text
-Imports System.Threading.Tasks
+Imports System
Imports DevExpress.ExpressApp
Namespace NonPersistentObjectsDemo.Module.BusinessObjects
- Friend Class DemoDataCreator
- Private ObjectSpace As IObjectSpace
- Public Sub New(ByVal objectSpace As IObjectSpace)
- Me.ObjectSpace = objectSpace
- End Sub
- Public Sub CreateDemoObjects()
- Dim rnd = New Random()
- If ObjectSpace.GetObjectsCount(GetType(Product), Nothing) = 0 Then
- Dim c1 = CreateCategory("Beverages")
- Dim c4 = CreateCategory("Cheeses")
- Dim c5 = CreateCategory("Breads")
- CreateProduct(c1, "Chai", 18.0D)
- CreateProduct(c1, "Soda", 12.0D)
- CreateProduct(c4, "Queso Cabrales", 21.5D)
- CreateProduct(c4, "Queso Manchego La Pastora", 38.0D)
- CreateProduct(c4, "Gorgonzola Telino", 12.5D)
- CreateProduct(c4, "Mascarpone Fabioli", 32.0D)
- CreateProduct(c4, "Geitost", 2.5D)
- CreateProduct(c5, "Gustaf's Knäckebröd", 21.0D)
- CreateProduct(c5, "Tunnbröd", 9.0D)
- End If
- End Sub
- Private Function CreateProduct(ByVal category As Category, ByVal model As String, ByVal price As Decimal) As Product
- Dim product = ObjectSpace.CreateObject(Of Product)()
- product.Model = model
- product.Category = category
- product.Price = price
- Return product
- End Function
- Private Function CreateCategory(ByVal name As String) As Category
- Dim category = ObjectSpace.CreateObject(Of Category)()
- category.Name = name
- Return category
- End Function
- End Class
+ Friend Class DemoDataCreator
+
+ Private ObjectSpace As IObjectSpace
+
+ Public Sub New(ByVal objectSpace As IObjectSpace)
+ Me.ObjectSpace = objectSpace
+ End Sub
+
+ Public Sub CreateDemoObjects()
+ Dim rnd = New Random()
+ If ObjectSpace.GetObjectsCount(GetType(Product), Nothing) = 0 Then
+ Dim c1 = CreateCategory("Beverages")
+ Dim c4 = CreateCategory("Cheeses")
+ Dim c5 = CreateCategory("Breads")
+ CreateProduct(c1, "Chai", 18.0D)
+ CreateProduct(c1, "Soda", 12.0D)
+ CreateProduct(c4, "Queso Cabrales", 21.5D)
+ CreateProduct(c4, "Queso Manchego La Pastora", 38.0D)
+ CreateProduct(c4, "Gorgonzola Telino", 12.5D)
+ CreateProduct(c4, "Mascarpone Fabioli", 32.0D)
+ CreateProduct(c4, "Geitost", 2.5D)
+ CreateProduct(c5, "Gustaf's Knäckebröd", 21.0D)
+ CreateProduct(c5, "Tunnbröd", 9.0D)
+ End If
+ End Sub
+
+ Private Function CreateProduct(ByVal category As Category, ByVal model As String, ByVal price As Decimal) As Product
+ Dim product = ObjectSpace.CreateObject(Of Product)()
+ product.Model = model
+ product.Category = category
+ product.Price = price
+ Return product
+ End Function
+
+ Private Function CreateCategory(ByVal name As String) As Category
+ Dim category = ObjectSpace.CreateObject(Of Category)()
+ category.Name = name
+ Return category
+ End Function
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module/BusinessObjects/NonPersistentObjectBase.vb b/VB/NonPersistentObjectsDemo.Module/BusinessObjects/NonPersistentObjectBase.vb
index e3d8e1e..80acc3f 100644
--- a/VB/NonPersistentObjectsDemo.Module/BusinessObjects/NonPersistentObjectBase.vb
+++ b/VB/NonPersistentObjectsDemo.Module/BusinessObjects/NonPersistentObjectBase.vb
@@ -1,60 +1,63 @@
-Imports System
-Imports System.Collections.Generic
+Imports System
Imports System.ComponentModel
Imports System.Linq
-Imports System.Text
-Imports System.Threading.Tasks
Imports DevExpress.ExpressApp
-Imports DevExpress.ExpressApp.DC
-Imports DevExpress.Persistent.Base
Namespace NonPersistentObjectsDemo.Module.BusinessObjects
+ Public MustInherit Class NonPersistentObjectBase
+ Implements INotifyPropertyChanged, IObjectSpaceLink
- Public MustInherit Class NonPersistentObjectBase
- Implements INotifyPropertyChanged, IObjectSpaceLink
-
-'INSTANT VB NOTE: The field objectSpace was renamed since Visual Basic does not allow fields to have the same name as other class members:
- Private objectSpace_Conflict As IObjectSpace
- Protected ReadOnly Property ObjectSpace() As IObjectSpace
- Get
- Return objectSpace_Conflict
- End Get
- End Property
- Private Property IObjectSpaceLink_ObjectSpace() As IObjectSpace Implements IObjectSpaceLink.ObjectSpace
- Get
- Return objectSpace_Conflict
- End Get
- Set(ByVal value As IObjectSpace)
- If objectSpace_Conflict IsNot value Then
- OnObjectSpaceChanging()
- objectSpace_Conflict = value
- OnObjectSpaceChanged()
- End If
- End Set
- End Property
- Protected Overridable Sub OnObjectSpaceChanging()
- End Sub
- Protected Overridable Sub OnObjectSpaceChanged()
- End Sub
- Protected Function FindPersistentObjectSpace(ByVal type As Type) As IObjectSpace
- Return DirectCast(ObjectSpace, NonPersistentObjectSpace).AdditionalObjectSpaces.FirstOrDefault(Function(os) os.IsKnownType(type))
- End Function
- Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
- Protected Sub OnPropertyChanged(ByVal propertyName As String)
- PropertyChangedEvent?.Invoke(Me, New PropertyChangedEventArgs(propertyName))
- End Sub
- Protected Sub SetPropertyValue(Of T)(ByVal name As String, ByRef field As T, ByVal value As T)
- If Not Equals(field, value) Then
- field = value
- OnPropertyChanged(name)
- End If
- End Sub
-
- Public ReadOnly Property This() As Object
- Get
- Return Me
- End Get
- End Property
- End Class
+ Private objectSpaceField As IObjectSpace
+
+ Protected ReadOnly Property ObjectSpaceProp As IObjectSpace
+ Get
+ Return objectSpaceField
+ End Get
+ End Property
+
+ Private Property ObjectSpace As IObjectSpace Implements IObjectSpaceLink.ObjectSpace
+ Get
+ Return objectSpaceField
+ End Get
+
+ Set(ByVal value As IObjectSpace)
+ If objectSpaceField IsNot value Then
+ OnObjectSpaceChanging()
+ objectSpaceField = value
+ OnObjectSpaceChanged()
+ End If
+ End Set
+ End Property
+
+ Protected Overridable Sub OnObjectSpaceChanging()
+ End Sub
+
+ Protected Overridable Sub OnObjectSpaceChanged()
+ End Sub
+
+ Protected Function FindPersistentObjectSpace(ByVal type As Type) As IObjectSpace
+ Return CType(ObjectSpaceProp, NonPersistentObjectSpace).AdditionalObjectSpaces.FirstOrDefault(Function(os) os.IsKnownType(type))
+ End Function
+
+ Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
+
+ Protected Sub OnPropertyChanged(ByVal propertyName As String)
+ RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
+ End Sub
+
+ Protected Sub SetPropertyValue(Of T)(ByVal name As String, ByRef field As T, ByVal value As T)
+ If Not Equals(field, value) Then
+ field = value
+ OnPropertyChanged(name)
+ End If
+ End Sub
+
+
+ Public ReadOnly Property This As Object
+ Get
+ Return Me
+ End Get
+ End Property
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module/BusinessObjects/PersistentObjects.vb b/VB/NonPersistentObjectsDemo.Module/BusinessObjects/PersistentObjects.vb
index f9c474c..4ea8fbf 100644
--- a/VB/NonPersistentObjectsDemo.Module/BusinessObjects/PersistentObjects.vb
+++ b/VB/NonPersistentObjectsDemo.Module/BusinessObjects/PersistentObjects.vb
@@ -1,79 +1,86 @@
-Imports System
-Imports System.Collections.Generic
-Imports System.Linq
-Imports System.Text
-Imports System.Threading.Tasks
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Xpo
Namespace NonPersistentObjectsDemo.Module.BusinessObjects
-
- Public Class Product
- Inherits BaseObject
-
- Public Sub New(ByVal session As Session)
- MyBase.New(session)
- End Sub
-
- Private _Model As String
- Public Property Model() As String
- Get
- Return _Model
- End Get
- Set(ByVal value As String)
- SetPropertyValue(Of String)(NameOf(Model), _Model, value)
- End Set
- End Property
- Private _Category As Category
- Public Property Category() As Category
- Get
- Return _Category
- End Get
- Set(ByVal value As Category)
- SetPropertyValue(Of Category)(NameOf(Category), _Category, value)
- End Set
- End Property
-
- Public ReadOnly Property DisplayName() As String
- Get
- Return CStr(EvaluateAlias(NameOf(DisplayName)))
- End Get
- End Property
- Private _Price As Decimal
- Public Property Price() As Decimal
- Get
- Return _Price
- End Get
- Set(ByVal value As Decimal)
- SetPropertyValue(Of Decimal)(NameOf(Price), _Price, value)
- End Set
- End Property
- Protected Overrides Sub OnChanged(ByVal propertyName As String, ByVal oldValue As Object, ByVal newValue As Object)
- MyBase.OnChanged(propertyName, oldValue, newValue)
- If propertyName = NameOf(Category) OrElse propertyName = NameOf(Model) Then
- OnChanged(NameOf(DisplayName))
- End If
- End Sub
- End Class
-
-
- Public Class Category
- Inherits BaseObject
-
- Public Sub New(ByVal session As Session)
- MyBase.New(session)
- End Sub
-
- Private _Name As String
- Public Property Name() As String
- Get
- Return _Name
- End Get
- Set(ByVal value As String)
- SetPropertyValue(Of String)(NameOf(Name), _Name, value)
- End Set
- End Property
- End Class
+
+ Public Class Product
+ Inherits BaseObject
+
+ Public Sub New(ByVal session As Session)
+ MyBase.New(session)
+ End Sub
+
+ Private _Model As String
+
+ Public Property Model As String
+ Get
+ Return _Model
+ End Get
+
+ Set(ByVal value As String)
+ SetPropertyValue(Of String)(NameOf(Product.Model), _Model, value)
+ End Set
+ End Property
+
+ Private _Category As Category
+
+ Public Property Category As Category
+ Get
+ Return _Category
+ End Get
+
+ Set(ByVal value As Category)
+ SetPropertyValue(NameOf(Product.Category), _Category, value)
+ End Set
+ End Property
+
+
+ Public ReadOnly Property DisplayName As String
+ Get
+ Return CStr(EvaluateAlias(NameOf(Product.DisplayName)))
+ End Get
+ End Property
+
+ Private _Price As Decimal
+
+ Public Property Price As Decimal
+ Get
+ Return _Price
+ End Get
+
+ Set(ByVal value As Decimal)
+ SetPropertyValue(Of Decimal)(NameOf(Product.Price), _Price, value)
+ End Set
+ End Property
+
+ Protected Overrides Sub OnChanged(ByVal propertyName As String, ByVal oldValue As Object, ByVal newValue As Object)
+ MyBase.OnChanged(propertyName, oldValue, newValue)
+ If Equals(propertyName, NameOf(Product.Category)) OrElse Equals(propertyName, NameOf(Product.Model)) Then
+ OnChanged(NameOf(Product.DisplayName))
+ End If
+ End Sub
+ End Class
+
+
+ Public Class Category
+ Inherits BaseObject
+
+ Public Sub New(ByVal session As Session)
+ MyBase.New(session)
+ End Sub
+
+ Private _Name As String
+
+ Public Property Name As String
+ Get
+ Return _Name
+ End Get
+
+ Set(ByVal value As String)
+ SetPropertyValue(Of String)(NameOf(Category.Name), _Name, value)
+ End Set
+ End Property
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module/BusinessObjects/ProductView.vb b/VB/NonPersistentObjectsDemo.Module/BusinessObjects/ProductView.vb
index 6ce07c1..b17016c 100644
--- a/VB/NonPersistentObjectsDemo.Module/BusinessObjects/ProductView.vb
+++ b/VB/NonPersistentObjectsDemo.Module/BusinessObjects/ProductView.vb
@@ -1,92 +1,102 @@
-Imports System
+Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
-Imports System.Linq
-Imports System.Text
-Imports System.Threading.Tasks
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Namespace NonPersistentObjectsDemo.Module.BusinessObjects
-
-
- Public Class ProductView
- Inherits NonPersistentObjectBase
-
- Private _AllProducts As IList(Of Product)
- Public ReadOnly Property AllProducts() As IList(Of Product)
- Get
- If _AllProducts Is Nothing Then
- _AllProducts = ObjectSpace.GetObjects(Of Product)()
- End If
- Return _AllProducts
- End Get
- End Property
- Private _Category As Category
-
- Public Property Category() As Category
- Get
- Return _Category
- End Get
- Set(ByVal value As Category)
- If value IsNot Category Then
- _Category = value
- OnPropertyChanged(NameOf(Category))
- UpdateProducts()
- OnPropertyChanged(NameOf(Products))
- End If
- End Set
- End Property
- Private Sub UpdateProducts()
- If _Products IsNot Nothing Then
- ObjectSpace.ApplyCriteria(_Products, CriteriaOperator.Parse("? is null or Category = ?", Category, Category))
- End If
- End Sub
- Private _Products As IList(Of Product)
- Public ReadOnly Property Products() As IList(Of Product)
- Get
- If _Products Is Nothing Then
- _Products = ObjectSpace.GetObjects(Of Product)()
- UpdateProducts()
- End If
- Return _Products
- End Get
- End Property
- End Class
-
- Friend Class ProductViewAdapter
- Private objectSpace As NonPersistentObjectSpace
- Private isDirty As Boolean = True
-
- Public Sub New(ByVal npos As NonPersistentObjectSpace)
- Me.objectSpace = npos
- AddHandler objectSpace.ObjectGetting, AddressOf ObjectSpace_ObjectGetting
- AddHandler objectSpace.Reloaded, AddressOf ObjectSpace_Reloaded
- AddHandler objectSpace.ModifiedChanging, AddressOf ObjectSpace_ModifiedChanging
- End Sub
- Private Sub ObjectSpace_ModifiedChanging(ByVal sender As Object, ByVal e As ObjectSpaceModificationEventArgs)
- If e.MemberInfo IsNot Nothing Then
- If e.MemberInfo.Owner.Type Is GetType(ProductView) AndAlso e.MemberInfo.Name = NameOf(ProductView.Category) Then
- e.Cancel = True
- End If
- End If
- End Sub
- Private Sub ObjectSpace_Reloaded(ByVal sender As Object, ByVal e As EventArgs)
- isDirty = True
- End Sub
- Private Sub ObjectSpace_ObjectGetting(ByVal sender As Object, ByVal e As ObjectGettingEventArgs)
- If TypeOf e.SourceObject Is ProductView Then
- Dim obj = CType(e.SourceObject, ProductView)
- If isDirty Then
- Dim clone = New ProductView()
- clone.Category = objectSpace.GetObject(Of Category)(obj.Category)
- e.TargetObject = clone
- isDirty = False
- End If
- End If
- End Sub
- End Class
+
+
+ Public Class ProductView
+ Inherits NonPersistentObjectBase
+ Private _AllProducts As IList(Of Product)
+
+ Public ReadOnly Property AllProducts As IList(Of Product)
+ Get
+ If _AllProducts Is Nothing Then
+ _AllProducts = ObjectSpaceProp.GetObjects(Of Product)()
+ End If
+
+ Return _AllProducts
+ End Get
+ End Property
+
+ Private _Category As Category
+
+
+ Public Property Category As Category
+ Get
+ Return _Category
+ End Get
+
+ Set(ByVal value As Category)
+ If value IsNot Category Then
+ _Category = value
+ OnPropertyChanged(NameOf(ProductView.Category))
+ UpdateProducts()
+ OnPropertyChanged(NameOf(ProductView.Products))
+ End If
+ End Set
+ End Property
+
+ Private Sub UpdateProducts()
+ If _Products IsNot Nothing Then
+ ObjectSpaceProp.ApplyCriteria(_Products, CriteriaOperator.Parse("? is null or Category = ?", Category, Category))
+ End If
+ End Sub
+
+ Private _Products As IList(Of Product)
+
+ Public ReadOnly Property Products As IList(Of Product)
+ Get
+ If _Products Is Nothing Then
+ _Products = ObjectSpaceProp.GetObjects(Of Product)()
+ UpdateProducts()
+ End If
+
+ Return _Products
+ End Get
+ End Property
+ End Class
+
+ Friend Class ProductViewAdapter
+
+ Private objectSpace As NonPersistentObjectSpace
+
+ Private isDirty As Boolean = True
+
+ Public Sub New(ByVal npos As NonPersistentObjectSpace)
+ objectSpace = npos
+ AddHandler objectSpace.ObjectGetting, AddressOf ObjectSpace_ObjectGetting
+ AddHandler objectSpace.Reloaded, AddressOf ObjectSpace_Reloaded
+ AddHandler objectSpace.ModifiedChanging, AddressOf ObjectSpace_ModifiedChanging
+ End Sub
+
+ Private Sub ObjectSpace_ModifiedChanging(ByVal sender As Object, ByVal e As ObjectSpaceModificationEventArgs)
+ If e.MemberInfo IsNot Nothing Then
+ If e.MemberInfo.Owner.Type Is GetType(ProductView) AndAlso Equals(e.MemberInfo.Name, NameOf(ProductView.Category)) Then
+ e.Cancel = True
+ End If
+ End If
+ End Sub
+
+ Private Sub ObjectSpace_Reloaded(ByVal sender As Object, ByVal e As EventArgs)
+ isDirty = True
+ End Sub
+
+ Private Sub ObjectSpace_ObjectGetting(ByVal sender As Object, ByVal e As ObjectGettingEventArgs)
+ If TypeOf e.SourceObject Is ProductView Then
+ Dim obj = CType(e.SourceObject, ProductView)
+ If isDirty Then
+ Dim clone = New ProductView()
+ clone.Category = objectSpace.GetObject(obj.Category)
+ e.TargetObject = clone
+ isDirty = False
+ End If
+ End If
+ End Sub
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module/Controllers/NonPersistentObjectActivatorController.vb b/VB/NonPersistentObjectsDemo.Module/Controllers/NonPersistentObjectActivatorController.vb
index e7f895f..c695d83 100644
--- a/VB/NonPersistentObjectsDemo.Module/Controllers/NonPersistentObjectActivatorController.vb
+++ b/VB/NonPersistentObjectsDemo.Module/Controllers/NonPersistentObjectActivatorController.vb
@@ -1,53 +1,54 @@
-Imports System
-Imports System.Collections.Generic
-Imports System.Linq
-Imports System.Text
-Imports System.Threading.Tasks
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Model
Imports DevExpress.ExpressApp.SystemModule
Imports NonPersistentObjectsDemo.Module.BusinessObjects
Namespace NonPersistentObjectsDemo.Module.Controllers
- Public Class NonPersistentObjectActivatorController
- Inherits WindowController
-
- Private showNavigationItemController As ShowNavigationItemController
- Public Sub New()
- TargetWindowType = WindowType.Main
- End Sub
- Protected Overrides Sub OnActivated()
- MyBase.OnActivated()
- showNavigationItemController = Frame.GetController(Of ShowNavigationItemController)()
- If showNavigationItemController IsNot Nothing Then
- AddHandler showNavigationItemController.CustomShowNavigationItem, AddressOf ShowNavigationItemController_CustomShowNavigationItem
- End If
- End Sub
- Protected Overrides Sub OnDeactivated()
- If showNavigationItemController IsNot Nothing Then
- RemoveHandler showNavigationItemController.CustomShowNavigationItem, AddressOf ShowNavigationItemController_CustomShowNavigationItem
- End If
- MyBase.OnDeactivated()
- End Sub
- Private Sub ShowNavigationItemController_CustomShowNavigationItem(ByVal sender As Object, ByVal e As CustomShowNavigationItemEventArgs)
- Dim args = e.ActionArguments
- Dim shortcut = TryCast(args.SelectedChoiceActionItem.Data, ViewShortcut)
- If shortcut IsNot Nothing Then
- Dim model = Application.FindModelView(shortcut.ViewId)
- If TypeOf model Is IModelDetailView AndAlso String.IsNullOrEmpty(shortcut.ObjectKey) Then
- Dim objectType = DirectCast(model, IModelDetailView).ModelClass.TypeInfo.Type
- If GetType(ProductView).IsAssignableFrom(objectType) Then
- Dim objectSpace = Application.CreateObjectSpace(objectType)
- Dim obj = objectSpace.CreateObject(objectType)
- objectSpace.RemoveFromModifiedObjects(obj)
- Dim detailView = Application.CreateDetailView(objectSpace, shortcut.ViewId, True, obj)
- detailView.ViewEditMode = DevExpress.ExpressApp.Editors.ViewEditMode.Edit
- args.ShowViewParameters.CreatedView = detailView
- args.ShowViewParameters.TargetWindow = TargetWindow.Current
- e.Handled = True
- End If
- End If
- End If
- End Sub
- End Class
+
+ Public Class NonPersistentObjectActivatorController
+ Inherits WindowController
+
+ Private showNavigationItemController As ShowNavigationItemController
+
+ Public Sub New()
+ TargetWindowType = WindowType.Main
+ End Sub
+
+ Protected Overrides Sub OnActivated()
+ MyBase.OnActivated()
+ showNavigationItemController = Frame.GetController(Of ShowNavigationItemController)()
+ If showNavigationItemController IsNot Nothing Then
+ AddHandler showNavigationItemController.CustomShowNavigationItem, AddressOf ShowNavigationItemController_CustomShowNavigationItem
+ End If
+ End Sub
+
+ Protected Overrides Sub OnDeactivated()
+ If showNavigationItemController IsNot Nothing Then
+ RemoveHandler showNavigationItemController.CustomShowNavigationItem, AddressOf ShowNavigationItemController_CustomShowNavigationItem
+ End If
+
+ MyBase.OnDeactivated()
+ End Sub
+
+ Private Sub ShowNavigationItemController_CustomShowNavigationItem(ByVal sender As Object, ByVal e As CustomShowNavigationItemEventArgs)
+ Dim args = e.ActionArguments
+ Dim shortcut = TryCast(args.SelectedChoiceActionItem.Data, ViewShortcut)
+ If shortcut IsNot Nothing Then
+ Dim model = Application.FindModelView(shortcut.ViewId)
+ If TypeOf model Is IModelDetailView AndAlso String.IsNullOrEmpty(shortcut.ObjectKey) Then
+ Dim objectType = CType(model, IModelDetailView).ModelClass.TypeInfo.Type
+ If GetType(ProductView).IsAssignableFrom(objectType) Then
+ Dim objectSpace = Application.CreateObjectSpace(objectType)
+ Dim obj = objectSpace.CreateObject(objectType)
+ objectSpace.RemoveFromModifiedObjects(obj)
+ Dim detailView = Application.CreateDetailView(objectSpace, shortcut.ViewId, True, obj)
+ detailView.ViewEditMode = Editors.ViewEditMode.Edit
+ args.ShowViewParameters.CreatedView = detailView
+ args.ShowViewParameters.TargetWindow = TargetWindow.Current
+ e.Handled = True
+ End If
+ End If
+ End If
+ End Sub
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module/Controllers/ProductViewNestedCollectionController.vb b/VB/NonPersistentObjectsDemo.Module/Controllers/ProductViewNestedCollectionController.vb
index a075f1f..316d568 100644
--- a/VB/NonPersistentObjectsDemo.Module/Controllers/ProductViewNestedCollectionController.vb
+++ b/VB/NonPersistentObjectsDemo.Module/Controllers/ProductViewNestedCollectionController.vb
@@ -1,26 +1,23 @@
-Imports System
-Imports System.Collections.Generic
-Imports System.Linq
-Imports System.Text
-Imports System.Threading.Tasks
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.SystemModule
Imports NonPersistentObjectsDemo.Module.BusinessObjects
Namespace NonPersistentObjectsDemo.Module.Controllers
- Public Class ProductViewNestedCollectionController
- Inherits ObjectViewController(Of ListView, Product)
- Public Sub New()
- TargetViewNesting = Nesting.Nested
- End Sub
- Protected Overrides Sub OnActivated()
- MyBase.OnActivated()
- Dim pcs = TryCast(View.CollectionSource, PropertyCollectionSource)
- Dim linkUnlinkController = Frame.GetController(Of LinkUnlinkController)()
- If linkUnlinkController IsNot Nothing Then
- linkUnlinkController.Active("NotInProductView") = Not (pcs IsNot Nothing AndAlso (TypeOf pcs.MasterObject Is ProductView))
- End If
- End Sub
- End Class
+ Public Class ProductViewNestedCollectionController
+ Inherits ObjectViewController(Of ListView, Product)
+
+ Public Sub New()
+ TargetViewNesting = Nesting.Nested
+ End Sub
+
+ Protected Overrides Sub OnActivated()
+ MyBase.OnActivated()
+ Dim pcs = TryCast(View.CollectionSource, PropertyCollectionSource)
+ Dim linkUnlinkController = Frame.GetController(Of LinkUnlinkController)()
+ If linkUnlinkController IsNot Nothing Then
+ linkUnlinkController.Active("NotInProductView") = Not(pcs IsNot Nothing AndAlso (TypeOf pcs.MasterObject Is ProductView))
+ End If
+ End Sub
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module/DatabaseUpdate/Updater.vb b/VB/NonPersistentObjectsDemo.Module/DatabaseUpdate/Updater.vb
index 59d2c1a..ba439b5 100644
--- a/VB/NonPersistentObjectsDemo.Module/DatabaseUpdate/Updater.vb
+++ b/VB/NonPersistentObjectsDemo.Module/DatabaseUpdate/Updater.vb
@@ -1,86 +1,86 @@
-Imports System
-Imports System.Linq
+Imports System
Imports DevExpress.ExpressApp
Imports DevExpress.Data.Filtering
Imports DevExpress.Persistent.Base
Imports DevExpress.ExpressApp.Updating
Imports DevExpress.ExpressApp.Security
-Imports DevExpress.ExpressApp.SystemModule
-Imports DevExpress.ExpressApp.Security.Strategy
-Imports DevExpress.Xpo
-Imports DevExpress.ExpressApp.Xpo
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.BaseImpl.PermissionPolicy
Imports NonPersistentObjectsDemo.Module.BusinessObjects
Namespace NonPersistentObjectsDemo.Module.DatabaseUpdate
- ' For more typical usage scenarios, be sure to check out https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.Updating.ModuleUpdater
- Public Class Updater
- Inherits ModuleUpdater
- Public Sub New(ByVal objectSpace As IObjectSpace, ByVal currentDBVersion As Version)
- MyBase.New(objectSpace, currentDBVersion)
- End Sub
- Public Overrides Sub UpdateDatabaseAfterUpdateSchema()
- MyBase.UpdateDatabaseAfterUpdateSchema()
- 'CreateSecurityObjects();
- Call (New DemoDataCreator(ObjectSpace)).CreateDemoObjects()
- ObjectSpace.CommitChanges()
- End Sub
+ ' For more typical usage scenarios, be sure to check out https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.Updating.ModuleUpdater
+ Public Class Updater
+ Inherits ModuleUpdater
- #Region "Security"
- Private Sub CreateSecurityObjects()
- Dim sampleUser As PermissionPolicyUser = ObjectSpace.FindObject(Of PermissionPolicyUser)(New BinaryOperator("UserName", "User"))
- If sampleUser Is Nothing Then
- sampleUser = ObjectSpace.CreateObject(Of PermissionPolicyUser)()
- sampleUser.UserName = "User"
- sampleUser.SetPassword("")
- End If
- Dim defaultRole As PermissionPolicyRole = CreateDefaultRole()
- sampleUser.Roles.Add(defaultRole)
+ Public Sub New(ByVal objectSpace As IObjectSpace, ByVal currentDBVersion As Version)
+ MyBase.New(objectSpace, currentDBVersion)
+ End Sub
- Dim userAdmin As PermissionPolicyUser = ObjectSpace.FindObject(Of PermissionPolicyUser)(New BinaryOperator("UserName", "Admin"))
- If userAdmin Is Nothing Then
- userAdmin = ObjectSpace.CreateObject(Of PermissionPolicyUser)()
- userAdmin.UserName = "Admin"
- ' Set a password if the standard authentication type is used
- userAdmin.SetPassword("")
- End If
- ' If a role with the Administrators name doesn't exist in the database, create this role
- Dim adminRole As PermissionPolicyRole = ObjectSpace.FindObject(Of PermissionPolicyRole)(New BinaryOperator("Name", "Administrators"))
- If adminRole Is Nothing Then
- adminRole = ObjectSpace.CreateObject(Of PermissionPolicyRole)()
- adminRole.Name = "Administrators"
- End If
- adminRole.IsAdministrative = True
- userAdmin.Roles.Add(adminRole)
- ObjectSpace.CommitChanges() 'This line persists created object(s).
- End Sub
- Private Function CreateDefaultRole() As PermissionPolicyRole
- Dim defaultRole As PermissionPolicyRole = ObjectSpace.FindObject(Of PermissionPolicyRole)(New BinaryOperator("Name", "Default"))
- If defaultRole Is Nothing Then
- defaultRole = ObjectSpace.CreateObject(Of PermissionPolicyRole)()
- defaultRole.Name = "Default"
+ Public Overrides Sub UpdateDatabaseAfterUpdateSchema()
+ MyBase.UpdateDatabaseAfterUpdateSchema()
+ 'CreateSecurityObjects();
+ Call New DemoDataCreator(ObjectSpace).CreateDemoObjects()
+ ObjectSpace.CommitChanges()
+ End Sub
- defaultRole.AddObjectPermission(Of PermissionPolicyUser)(SecurityOperations.Read, "[Oid] = CurrentUserId()", SecurityPermissionState.Allow)
- defaultRole.AddNavigationPermission("Application/NavigationItems/Items/Default/Items/MyDetails", SecurityPermissionState.Allow)
- defaultRole.AddMemberPermission(Of PermissionPolicyUser)(SecurityOperations.Write, "ChangePasswordOnFirstLogon", "[Oid] = CurrentUserId()", SecurityPermissionState.Allow)
- defaultRole.AddMemberPermission(Of PermissionPolicyUser)(SecurityOperations.Write, "StoredPassword", "[Oid] = CurrentUserId()", SecurityPermissionState.Allow)
- defaultRole.AddTypePermissionsRecursively(Of PermissionPolicyRole)(SecurityOperations.Read, SecurityPermissionState.Deny)
- defaultRole.AddTypePermissionsRecursively(Of ModelDifference)(SecurityOperations.ReadWriteAccess, SecurityPermissionState.Allow)
- defaultRole.AddTypePermissionsRecursively(Of ModelDifferenceAspect)(SecurityOperations.ReadWriteAccess, SecurityPermissionState.Allow)
- defaultRole.AddTypePermissionsRecursively(Of ModelDifference)(SecurityOperations.Create, SecurityPermissionState.Allow)
- defaultRole.AddTypePermissionsRecursively(Of ModelDifferenceAspect)(SecurityOperations.Create, SecurityPermissionState.Allow)
- End If
- Return defaultRole
- End Function
- #End Region
+#Region "Security"
+ Private Sub CreateSecurityObjects()
+ Dim sampleUser As PermissionPolicyUser = ObjectSpace.FindObject(Of PermissionPolicyUser)(New BinaryOperator("UserName", "User"))
+ If sampleUser Is Nothing Then
+ sampleUser = ObjectSpace.CreateObject(Of PermissionPolicyUser)()
+ sampleUser.UserName = "User"
+ sampleUser.SetPassword("")
+ End If
- Public Overrides Sub UpdateDatabaseBeforeUpdateSchema()
- MyBase.UpdateDatabaseBeforeUpdateSchema()
- 'if(CurrentDBVersion < new Version("1.1.0.0") && CurrentDBVersion > new Version("0.0.0.0")) {
- ' RenameColumn("DomainObject1Table", "OldColumnName", "NewColumnName");
- '}
- End Sub
- End Class
+ Dim defaultRole As PermissionPolicyRole = CreateDefaultRole()
+ sampleUser.Roles.Add(defaultRole)
+ Dim userAdmin As PermissionPolicyUser = ObjectSpace.FindObject(Of PermissionPolicyUser)(New BinaryOperator("UserName", "Admin"))
+ If userAdmin Is Nothing Then
+ userAdmin = ObjectSpace.CreateObject(Of PermissionPolicyUser)()
+ userAdmin.UserName = "Admin"
+ ' Set a password if the standard authentication type is used
+ userAdmin.SetPassword("")
+ End If
+
+ ' If a role with the Administrators name doesn't exist in the database, create this role
+ Dim adminRole As PermissionPolicyRole = ObjectSpace.FindObject(Of PermissionPolicyRole)(New BinaryOperator("Name", "Administrators"))
+ If adminRole Is Nothing Then
+ adminRole = ObjectSpace.CreateObject(Of PermissionPolicyRole)()
+ adminRole.Name = "Administrators"
+ End If
+
+ adminRole.IsAdministrative = True
+ userAdmin.Roles.Add(adminRole)
+ ObjectSpace.CommitChanges() 'This line persists created object(s).
+ End Sub
+
+ Private Function CreateDefaultRole() As PermissionPolicyRole
+ Dim defaultRole As PermissionPolicyRole = ObjectSpace.FindObject(Of PermissionPolicyRole)(New BinaryOperator("Name", "Default"))
+ If defaultRole Is Nothing Then
+ defaultRole = ObjectSpace.CreateObject(Of PermissionPolicyRole)()
+ defaultRole.Name = "Default"
+ defaultRole.AddObjectPermission(Of PermissionPolicyUser)(SecurityOperations.Read, "[Oid] = CurrentUserId()", SecurityPermissionState.Allow)
+ defaultRole.AddNavigationPermission("Application/NavigationItems/Items/Default/Items/MyDetails", SecurityPermissionState.Allow)
+ defaultRole.AddMemberPermission(Of PermissionPolicyUser)(SecurityOperations.Write, "ChangePasswordOnFirstLogon", "[Oid] = CurrentUserId()", SecurityPermissionState.Allow)
+ defaultRole.AddMemberPermission(Of PermissionPolicyUser)(SecurityOperations.Write, "StoredPassword", "[Oid] = CurrentUserId()", SecurityPermissionState.Allow)
+ defaultRole.AddTypePermissionsRecursively(Of PermissionPolicyRole)(SecurityOperations.Read, SecurityPermissionState.Deny)
+ defaultRole.AddTypePermissionsRecursively(Of ModelDifference)(SecurityOperations.ReadWriteAccess, SecurityPermissionState.Allow)
+ defaultRole.AddTypePermissionsRecursively(Of ModelDifferenceAspect)(SecurityOperations.ReadWriteAccess, SecurityPermissionState.Allow)
+ defaultRole.AddTypePermissionsRecursively(Of ModelDifference)(SecurityOperations.Create, SecurityPermissionState.Allow)
+ defaultRole.AddTypePermissionsRecursively(Of ModelDifferenceAspect)(SecurityOperations.Create, SecurityPermissionState.Allow)
+ End If
+
+ Return defaultRole
+ End Function
+
+#End Region
+ Public Overrides Sub UpdateDatabaseBeforeUpdateSchema()
+ MyBase.UpdateDatabaseBeforeUpdateSchema()
+ 'if(CurrentDBVersion < new Version("1.1.0.0") && CurrentDBVersion > new Version("0.0.0.0")) {
+ ' RenameColumn("DomainObject1Table", "OldColumnName", "NewColumnName");
+ '}
+ End Sub
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module/Module.Designer.vb b/VB/NonPersistentObjectsDemo.Module/Module.Designer.vb
index ffe8605..85acad8 100644
--- a/VB/NonPersistentObjectsDemo.Module/Module.Designer.vb
+++ b/VB/NonPersistentObjectsDemo.Module/Module.Designer.vb
@@ -1,50 +1,51 @@
-Namespace NonPersistentObjectsDemo.Module
- Partial Public Class NonPersistentObjectsDemoModule
- '''
- ''' Required designer variable.
- '''
- Private components As System.ComponentModel.IContainer = Nothing
+Namespace NonPersistentObjectsDemo.[Module]
- '''
- ''' Clean up any resources being used.
- '''
- ''' true if managed resources should be disposed; otherwise, false.
- Protected Overrides Sub Dispose(ByVal disposing As Boolean)
- If disposing AndAlso (components IsNot Nothing) Then
- components.Dispose()
- End If
- MyBase.Dispose(disposing)
- End Sub
+ Partial Class NonPersistentObjectsDemoModule
- #Region "Component Designer generated code"
+ '''
+ ''' Required designer variable.
+ '''
+ Private components As System.ComponentModel.IContainer = Nothing
- '''
- ''' Required method for Designer support - do not modify
- ''' the contents of this method with the code editor.
- '''
- Private Sub InitializeComponent()
- '
- ' NonPersistentObjectsDemoModule
- '
- Me.AdditionalExportedTypes.Add(GetType(DevExpress.Persistent.BaseImpl.ModelDifference))
- Me.AdditionalExportedTypes.Add(GetType(DevExpress.Persistent.BaseImpl.ModelDifferenceAspect))
- Me.AdditionalExportedTypes.Add(GetType(DevExpress.Persistent.BaseImpl.BaseObject))
- 'this.AdditionalExportedTypes.Add(typeof(DevExpress.Persistent.BaseImpl.FileData));
- 'this.AdditionalExportedTypes.Add(typeof(DevExpress.Persistent.BaseImpl.FileAttachmentBase));
- 'this.AdditionalExportedTypes.Add(typeof(DevExpress.Persistent.BaseImpl.Event));
- 'this.AdditionalExportedTypes.Add(typeof(DevExpress.Persistent.BaseImpl.Resource));
- 'this.AdditionalExportedTypes.Add(typeof(DevExpress.Persistent.BaseImpl.HCategory));
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.SystemModule.SystemModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Objects.BusinessClassLibraryCustomizationModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.CloneObject.CloneObjectModule))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.ConditionalAppearance.ConditionalAppearanceModule))
- 'this.RequiredModuleTypes.Add(typeof(DevExpress.ExpressApp.ReportsV2.ReportsModuleV2));
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Scheduler.SchedulerModuleBase))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.ScriptRecorder.ScriptRecorderModuleBase))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.TreeListEditors.TreeListEditorsModuleBase))
- Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Validation.ValidationModule))
- End Sub
+ '''
+ ''' Clean up any resources being used.
+ '''
+ ''' true if managed resources should be disposed; otherwise, false.
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ If disposing AndAlso (Me.components IsNot Nothing) Then
+ Me.components.Dispose()
+ End If
- #End Region
- End Class
+ MyBase.Dispose(disposing)
+ End Sub
+
+#Region "Component Designer generated code"
+ '''
+ ''' Required method for Designer support - do not modify
+ ''' the contents of this method with the code editor.
+ '''
+ Private Sub InitializeComponent()
+ '
+ ' NonPersistentObjectsDemoModule
+ '
+ Me.AdditionalExportedTypes.Add(GetType(DevExpress.Persistent.BaseImpl.ModelDifference))
+ Me.AdditionalExportedTypes.Add(GetType(DevExpress.Persistent.BaseImpl.ModelDifferenceAspect))
+ Me.AdditionalExportedTypes.Add(GetType(DevExpress.Persistent.BaseImpl.BaseObject))
+ 'this.AdditionalExportedTypes.Add(typeof(DevExpress.Persistent.BaseImpl.FileData));
+ 'this.AdditionalExportedTypes.Add(typeof(DevExpress.Persistent.BaseImpl.FileAttachmentBase));
+ 'this.AdditionalExportedTypes.Add(typeof(DevExpress.Persistent.BaseImpl.Event));
+ 'this.AdditionalExportedTypes.Add(typeof(DevExpress.Persistent.BaseImpl.Resource));
+ 'this.AdditionalExportedTypes.Add(typeof(DevExpress.Persistent.BaseImpl.HCategory));
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.SystemModule.SystemModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Objects.BusinessClassLibraryCustomizationModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.CloneObject.CloneObjectModule))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.ConditionalAppearance.ConditionalAppearanceModule))
+ 'this.RequiredModuleTypes.Add(typeof(DevExpress.ExpressApp.ReportsV2.ReportsModuleV2));
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Scheduler.SchedulerModuleBase))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.ScriptRecorder.ScriptRecorderModuleBase))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.TreeListEditors.TreeListEditorsModuleBase))
+ Me.RequiredModuleTypes.Add(GetType(DevExpress.ExpressApp.Validation.ValidationModule))
+ End Sub
+#End Region
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module/Module.vb b/VB/NonPersistentObjectsDemo.Module/Module.vb
index 365a924..bb93a0e 100644
--- a/VB/NonPersistentObjectsDemo.Module/Module.vb
+++ b/VB/NonPersistentObjectsDemo.Module/Module.vb
@@ -1,61 +1,59 @@
-Imports System
-Imports System.Text
+Imports System
Imports System.Linq
Imports DevExpress.ExpressApp
Imports System.ComponentModel
Imports DevExpress.ExpressApp.DC
Imports System.Collections.Generic
-Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
-Imports DevExpress.Persistent.BaseImpl.PermissionPolicy
-Imports DevExpress.ExpressApp.Model
-Imports DevExpress.ExpressApp.Actions
-Imports DevExpress.ExpressApp.Editors
Imports DevExpress.ExpressApp.Updating
-Imports DevExpress.ExpressApp.Model.Core
-Imports DevExpress.ExpressApp.Model.DomainLogics
-Imports DevExpress.ExpressApp.Model.NodeGenerators
Imports DevExpress.ExpressApp.Xpo
Imports NonPersistentObjectsDemo.Module.BusinessObjects
Namespace NonPersistentObjectsDemo.Module
- ' For more typical usage scenarios, be sure to check out https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.ModuleBase.
- Public NotInheritable Partial Class NonPersistentObjectsDemoModule
- Inherits ModuleBase
-
- Public Sub New()
- InitializeComponent()
- BaseObject.OidInitializationMode = OidInitializationMode.AfterConstruction
- End Sub
- Public Overrides Function GetModuleUpdaters(ByVal objectSpace As IObjectSpace, ByVal versionFromDB As Version) As IEnumerable(Of ModuleUpdater)
- Dim updater As ModuleUpdater = New DatabaseUpdate.Updater(objectSpace, versionFromDB)
- Return New ModuleUpdater() { updater }
- End Function
- Public Overrides Sub Setup(ByVal application As XafApplication)
- MyBase.Setup(application)
- ' Manage various aspects of the application UI and behavior at the module level.
- AddHandler application.SetupComplete, AddressOf Application_SetupComplete
- End Sub
- Private Sub Application_SetupComplete(ByVal sender As Object, ByVal e As EventArgs)
- AddHandler Application.ObjectSpaceCreated, AddressOf Application_ObjectSpaceCreated
- NonPersistentObjectSpace.UseKeyComparisonToDetermineIdentity = True
- End Sub
- Private Sub Application_ObjectSpaceCreated(ByVal sender As Object, ByVal e As ObjectSpaceCreatedEventArgs)
- Dim npos = TryCast(e.ObjectSpace, NonPersistentObjectSpace)
- If npos IsNot Nothing Then
- If Not npos.AdditionalObjectSpaces.Any(Function(os) os.IsKnownType(GetType(BaseObject))) Then
- Dim persistentObjectSpace As IObjectSpace = Application.CreateObjectSpace(GetType(BaseObject))
- npos.AdditionalObjectSpaces.Add(persistentObjectSpace)
- End If
- npos.AutoDisposeAdditionalObjectSpaces = True
- npos.AutoRefreshAdditionalObjectSpaces = True
- npos.AutoCommitAdditionalObjectSpaces = True
- Dim tempVar As New ProductViewAdapter(npos)
- End If
- End Sub
- Public Overrides Sub CustomizeTypesInfo(ByVal typesInfo As ITypesInfo)
- MyBase.CustomizeTypesInfo(typesInfo)
- CalculatedPersistentAliasHelper.CustomizeTypesInfo(typesInfo)
- End Sub
- End Class
+
+ ' For more typical usage scenarios, be sure to check out https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.ModuleBase.
+ Public NotInheritable Partial Class NonPersistentObjectsDemoModule
+ Inherits ModuleBase
+
+ Public Sub New()
+ InitializeComponent()
+ BaseObject.OidInitializationMode = OidInitializationMode.AfterConstruction
+ End Sub
+
+ Public Overrides Function GetModuleUpdaters(ByVal objectSpace As IObjectSpace, ByVal versionFromDB As Version) As IEnumerable(Of ModuleUpdater)
+ Dim updater As ModuleUpdater = New DatabaseUpdate.Updater(objectSpace, versionFromDB)
+ Return New ModuleUpdater() {updater}
+ End Function
+
+ Public Overrides Sub Setup(ByVal application As XafApplication)
+ MyBase.Setup(application)
+ ' Manage various aspects of the application UI and behavior at the module level.
+ AddHandler application.SetupComplete, AddressOf Application_SetupComplete
+ End Sub
+
+ Private Sub Application_SetupComplete(ByVal sender As Object, ByVal e As EventArgs)
+ AddHandler Application.ObjectSpaceCreated, AddressOf Application_ObjectSpaceCreated
+ NonPersistentObjectSpace.UseKeyComparisonToDetermineIdentity = True
+ End Sub
+
+ Private Sub Application_ObjectSpaceCreated(ByVal sender As Object, ByVal e As ObjectSpaceCreatedEventArgs)
+ Dim npos = TryCast(e.ObjectSpace, NonPersistentObjectSpace)
+ If npos IsNot Nothing Then
+ If Not npos.AdditionalObjectSpaces.Any(Function(os) os.IsKnownType(GetType(BaseObject))) Then
+ Dim persistentObjectSpace As IObjectSpace = Application.CreateObjectSpace(GetType(BaseObject))
+ npos.AdditionalObjectSpaces.Add(persistentObjectSpace)
+ End If
+
+ npos.AutoDisposeAdditionalObjectSpaces = True
+ npos.AutoRefreshAdditionalObjectSpaces = True
+ npos.AutoCommitAdditionalObjectSpaces = True
+ Dim tmp_ProductViewAdapter = New ProductViewAdapter(npos)
+ End If
+ End Sub
+
+ Public Overrides Sub CustomizeTypesInfo(ByVal typesInfo As ITypesInfo)
+ MyBase.CustomizeTypesInfo(typesInfo)
+ CalculatedPersistentAliasHelper.CustomizeTypesInfo(typesInfo)
+ End Sub
+ End Class
End Namespace
diff --git a/VB/NonPersistentObjectsDemo.Module/NonPersistentObjectsDemo.Module.vbproj b/VB/NonPersistentObjectsDemo.Module/NonPersistentObjectsDemo.Module.vbproj
index f033fa1..46684eb 100644
--- a/VB/NonPersistentObjectsDemo.Module/NonPersistentObjectsDemo.Module.vbproj
+++ b/VB/NonPersistentObjectsDemo.Module/NonPersistentObjectsDemo.Module.vbproj
@@ -1,62 +1,44 @@
-
+
+ On
Debug
AnyCPU
{57ACDBDB-006E-43D3-9308-97857F2FF75D}
Library
-
+ Properties
+
+
NonPersistentObjectsDemo.Module
v4.5.2
512
- On
- Binary
- Off
- On
true
full
false
bin\Debug\
- true
- true
+ DEBUG,TRACE
prompt
- true
+ 4
pdbonly
true
bin\Release\
- false
- true
+ TRACE
prompt
- true
+ 4
true
bin\EasyTest\
- true
- true
- EASYTEST=True
+ TRACE,DEBUG,EASYTEST
full
AnyCPU
prompt
- true
-
-
-
-
-
-
-
-
-
-
-
-
False
@@ -172,7 +154,7 @@
Module.vb
-
+
@@ -193,11 +175,11 @@
-
-
+
\ No newline at end of file
diff --git a/VB/NonPersistentObjectsDemo.Module/Properties/AssemblyInfo.vb b/VB/NonPersistentObjectsDemo.Module/Properties/AssemblyInfo.vb
new file mode 100644
index 0000000..ca884b8
--- /dev/null
+++ b/VB/NonPersistentObjectsDemo.Module/Properties/AssemblyInfo.vb
@@ -0,0 +1,29 @@
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' General Information about an assembly is controlled through the following
+' set of attributes. Change these attribute values to modify the information
+' associated with an assembly.
+
+
+
+
+
+
+
+
+' Setting ComVisible to false makes the types in this assembly not visible
+' to COM components. If you need to access a type in this assembly from
+' COM, set the ComVisible attribute to true on that type.
+
+' The following GUID is for the ID of the typelib if this project is exposed to COM
+
+' Version information for an assembly consists of the following four values:
+'
+' Major Version
+' Minor Version
+' Build Number
+' Revision
+'
+
+
diff --git a/VB/NonPersistentObjectsDemo.Web/Default.aspx b/VB/NonPersistentObjectsDemo.Web/Default.aspx
index 918be8f..c5ae3a4 100644
--- a/VB/NonPersistentObjectsDemo.Web/Default.aspx
+++ b/VB/NonPersistentObjectsDemo.Web/Default.aspx
@@ -1,5 +1,5 @@
-<%@ Page Language="C#" AutoEventWireup="true" Inherits="Default" EnableViewState="false"
- ValidateRequest="false" CodeBehind="Default.aspx.cs" %>
+<%@ Page Language="VB" AutoEventWireup="true" Inherits="Default" EnableViewState="false"
+ ValidateRequest="false" CodeBehind="Default.aspx.vb" %>
<%@ Register Assembly="DevExpress.ExpressApp.Web.v20.1"
Namespace="DevExpress.ExpressApp.Web.Templates" TagPrefix="cc3" %>
<%@ Register Assembly="DevExpress.ExpressApp.Web.v20.1"
@@ -16,4 +16,4 @@