@@ -4,25 +4,89 @@ Class dc.sample.PersistentClass Extends %Persistent
44Property Test As %VarString ;
55
66ClassMethod CreateRecord (ByRef id As %Integer ) As %Status
7+ {
8+ set sc =$$$OK
9+ Try {
10+ write " from Python : "
11+ set builtins = ##class (%SYS.Python ).Import (" builtins" )
12+ set id = builtins .list ()
13+ set sc = ..CreateRecordPython (id )
14+ write id ." __getitem__" (0 )," successfully created with CreateRecordPython" ,!
15+ write " from ObjectScript : "
16+ set sc = ..CreateRecordObjesctScript (.id )
17+ write id ," successfully created with CreateRecordObjesctScript" ,!
18+ }
19+ Catch ex {
20+ Set tSC =ex .AsStatus ()
21+ }
22+
23+ return sc
24+ }
25+
26+ ClassMethod CreateRecordObjesctScript (ByRef id As %Integer ) As %Status
727{
828 set sc =$$$OK
929 set objPC =..%New ()
10- set objPC .Test =" Test string"
30+ set objPC .Test =" Test string from CreateRecordObjectScript() " _ $zdt ( $now (), 3 ,, 6 )
1131 set sc =objPC .%Save ()
1232 set id =objPC .%Id ()
1333 return sc
1434}
1535
16- /// opens the record by id and reads its property
36+ ClassMethod CreateRecordPython (id ) As %Status [ Language = python ]
37+ {
38+ import iris
39+ from datetime import datetime
40+
41+ objPC =iris .cls ('dc .sample .PersistentClass ')._New ()
42+ objPC .Test =" Test string from CreateRecordPython() " +str (datetime .now ())
43+ sc =objPC ._Save ()
44+ id .append (objPC ._Id ())
45+ return sc
46+ }
47+
1748ClassMethod ReadProperty (id As %Integer ) As %Status
49+ {
50+
51+ Set sc = $$$OK
52+ Try {
53+ write " from Python : "
54+ set sc = ..ReadPropertyPython (id )
55+ write " from ObjectScript : "
56+ set sc = ..ReadPropertyObjectScript (id )
57+ }
58+ Catch ex {
59+ Set tSC =ex .AsStatus ()
60+ }
61+ Return sc
62+ }
63+
64+ /// opens the record by id and reads its property
65+ ClassMethod ReadPropertyObjectScript (id As %Integer ) As %Status
1866{
1967 Set sc = $$$OK
2068 #dim obj as dc.sample.PersistentClass
21- set obj =..%OpenId (id ,,.sc )
22- if $ISOBJECT (obj ) write obj .Test
69+ if ..%ExistsId (id ) {
70+ set obj =..%OpenId (id ,,.sc )
71+ if $ISOBJECT (obj ) write obj .Test ,!
72+ } else {
73+ write id ," is not an existing ID in dc.sample.PersistentClass" ,!
74+ }
2375 Return sc
2476}
2577
78+ ClassMethod ReadPropertyPython (id As %Integer ) As %Status [ Language = python ]
79+ {
80+ import iris
81+ sc =1
82+ if iris .cls ('dc .sample .PersistentClass ')._ExistsId (id ):
83+ obj =iris .cls ('dc .sample .PersistentClass ')._OpenId (id )
84+ print (obj .Test )
85+ else :
86+ print (id ,'is not an existing ID in dc .sample .PersistentClass ')
87+ return sc
88+ }
89+
2690Storage Default
2791{
2892<Data name =" PersistentClassDefaultData" >
0 commit comments