Index: DOM/PM/impl/ProductKenmerkenSet.cls.xml =================================================================== diff -u -r1727 -r1743 --- DOM/PM/impl/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1727) +++ DOM/PM/impl/ProductKenmerkenSet.cls.xml (.../ProductKenmerkenSet.cls.xml) (revision 1743) @@ -116,38 +116,32 @@ Set Kenmerk = ##class(Prod.Kenmerk.DataDefinitie).OpenId(Identifier) If ($IsObject(Kenmerk)) - { - /// InstanceVersion checken - Set CheckInstanceVersion = Kenmerk.CheckInstanceVersion(InstanceVersion) - If ($$$ISERR(CheckInstanceVersion)){ - Set ErrorMsg = "Kenmerk "_..KenmerkGroep_"||"_KenmerkNaam_" voor UnID "_..UnID_" is kon niet worden gesaved. "_$$ParseStatus^vhLib(CheckInstanceVersion) - }Else{ - // TO DO : 2011-06-09 : de check of iets gewijzigd is verplaatsen naar de persistente klasse : Prod.DataDefinitie - // Controleer of de nieuwe waarden verschillen - Set IsGewijzigd = (Waarden.Count() '= Kenmerk.Waarden.Count()) - Set i = 0 - While ('IsGewijzigd) && (i < Kenmerk.Waarden.Count()) + { + // TO DO : 2011-06-09 : de check of iets gewijzigd is verplaatsen naar de persistente klasse : Prod.DataDefinitie + // Controleer of de nieuwe waarden verschillen + Set IsGewijzigd = (Waarden.Count() '= Kenmerk.Waarden.Count()) + Set i = 0 + While ('IsGewijzigd) && (i < Kenmerk.Waarden.Count()) + { + Set i = i + 1 + Set IsGewijzigd = (Waarden.GetAt(i) '= Kenmerk.Waarden.GetAt(i)) + } + /// end TO DO + + If (IsGewijzigd) + { + Do Kenmerk.Waarden.Clear() + Set Kenmerk.Waarden = ##class(TECH.ListUtils).CopyList(Waarden,Kenmerk.Waarden) + Set Kenmerk.IsEventRaiser = ..RaiseEvent //Indien bulk wijziging is mag dit geen event raisen en is aanroeper verantwoordelijk voor zelf het event te raisen. + Set Status = Kenmerk.Save(InstanceVersion) + If $$$ISERR(Status) { - Set i = i + 1 - Set IsGewijzigd = (Waarden.GetAt(i) '= Kenmerk.Waarden.GetAt(i)) + Set ErrorMsg = "Kenmerk "_..KenmerkGroep_"||"_KenmerkNaam_" voor UnID "_..UnID_" kon niet worden gesaved.("_$$ParseStatus^vhLib(Status)_")" + }Else{ + Set WaardenLijst = ##class(%ListOfDataTypes).%New() + Do ##class(TECH.ListUtils).CopyList(Kenmerk.Waarden,WaardenLijst) + Set Wijziging = ##class(TECH.Events.KenmerkModifiedEventData).%New(..UnID,..KenmerkGroep,KenmerkNaam,WaardenLijst) } - /// end TO DO - - If (IsGewijzigd) - { - Do Kenmerk.Waarden.Clear() - Set Kenmerk.Waarden = ##class(TECH.ListUtils).CopyList(Waarden,Kenmerk.Waarden) - Set Kenmerk.IsEventRaiser = ..RaiseEvent //Indien bulk wijziging is mag dit geen event raisen en is aanroeper verantwoordelijk voor zelf het event te raisen. - Set Status = Kenmerk.Save() - If $$$ISERR(Status) - { - Set ErrorMsg = "Kenmerk "_..KenmerkGroep_"||"_KenmerkNaam_" voor UnID "_..UnID_" kon niet worden gesaved.("_$$ParseStatus^vhLib(Status)_")" - }Else{ - Set WaardenLijst = ##class(%ListOfDataTypes).%New() - Do ##class(TECH.ListUtils).CopyList(Kenmerk.Waarden,WaardenLijst) - Set Wijziging = ##class(TECH.Events.KenmerkModifiedEventData).%New(..UnID,..KenmerkGroep,KenmerkNaam,WaardenLijst) - } - } } }Else{ /// Is nieuwe DataDefinitie voor dit object. Index: TECH/Concurrency/VhPersistent.cls.xml =================================================================== diff -u -r1727 -r1743 --- TECH/Concurrency/VhPersistent.cls.xml (.../VhPersistent.cls.xml) (revision 1727) +++ TECH/Concurrency/VhPersistent.cls.xml (.../VhPersistent.cls.xml) (revision 1743) @@ -6,11 +6,7 @@ Deze gebeuren volledig via delegatie naar DbUtils. Daardoor kan er aan gesleuteld worden zonder alle classes te moeten hercompileren. -Let op: gebruik geen %-methods rechtstreeks die met locking te maken hebben! - -Merk op dat de InstanceVersion property eventueel in deze klasse zou kunnen staan, -maar dat maakt het gradueel in gebruik nemen complexer. -De VERSIONPROPERTY parameter zou hier niet kunnen staan. +Let op: gebruik geen %-methods rechtstreeks die met locking te maken hebben! 1 TECH.Error 1 @@ -23,8 +19,17 @@ +InstanceVersion:%Integer=-1 %Status - @@ -106,14 +111,15 @@ StatusCode:%Status,Message:%String 1 InstanceVersion:%Integer +1 %Status