-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDocumentsViewModel.vb
39 lines (38 loc) · 1.41 KB
/
DocumentsViewModel.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports DevExpress.Mvvm
Imports DevExpress.Mvvm.POCO
Namespace MVVMSample
Public Class DocumentsViewModel
Private ReadOnly viewNameSuffix As String = "View"
Public ReadOnly Property DocumentManagerService() As IDocumentManagerService
Get
Return Me.GetRequiredService(Of IDocumentManagerService)()
End Get
End Property
Public Overridable Property DocumentType() As DocumentType
Protected Sub OnDocumentTypeChanged()
LoadDocument()
End Sub
Public Sub LoadDocument()
If DocumentType <> MVVMSample.DocumentType.None AndAlso DocumentManagerService IsNot Nothing Then
Dim document As IDocument = DocumentManagerService.FindDocumentByIdOrCreate(DocumentType, Function(x) CreateDocument())
document.Show()
End If
End Sub
Private Function CreateDocument() As IDocument
Dim document = DocumentManagerService.CreateDocument(DocumentType.ToString() & viewNameSuffix, Nothing, Me)
document.Title = DocumentType
document.DestroyOnClose = False
Return document
End Function
End Class
Public Enum DocumentType
None
Customers
Orders
End Enum
End Namespace