-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDocuments.cls
64 lines (54 loc) · 1.34 KB
/
Documents.cls
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Class User.Documents Extends %Persistent
{
Property Title As %String;
Property creationDate As %Date;
Property Content As %String;
// Add method to query all documents
ClassMethod GetAllDocuments() As %ResultSet
{
Set tRS = ##class(%ResultSet).%New()
Do tRS.Prepare("SELECT ID,Title,Content FROM User.Documents")
Do tRS.Execute()
return tRS
}
// Add display method
ClassMethod DisplayAll()
{
Set tRS = ..GetAllDocuments()
While tRS.Next() {
Write !,"ID: ",tRS.GetData(1) // ID is column 1
Write !,"Title: ",tRS.GetData(2) // Title is column 2
Write !,"Content: ",tRS.GetData(3) // Content is column 3
Write !,"-------------------"
}
Do tRS.Close()
}
Storage Default
{
<Data name="DocumentsDefaultData">
<Attribute>%%CLASSNAME</Attribute>
<Subscript>"1"</Subscript>
<Value name="1">
<Value>Title</Value>
</Value>
<Value name="2">
<Value>Date</Value>
</Value>
<Value name="3">
<Value>Content</Value>
</Value>
<Value name="4">
<Value>%%CLASSNAME</Value>
</Value>
<Value name="5">
<Value>creationDate</Value>
</Value>
</Data>
<DataLocation>^User.DocumentsD</DataLocation>
<DefaultData>DocumentsDefaultData</DefaultData>
<IdLocation>^User.DocumentsD</IdLocation>
<IndexLocation>^User.DocumentsI</IndexLocation>
<StreamLocation>^User.DocumentsS</StreamLocation>
<Type>%Storage.Persistent</Type>
}
}