@@ -286,15 +286,15 @@ public bool TryHandleMessage(DMSMessage message, out DMSMessage response)
286286 case ManagerStoreReadRequest < DomInstance > request :
287287 {
288288 var module = GetDomModule ( request . ModuleId ) ;
289- var instances = request . Query . ExecuteInMemory ( module . Instances . Values ) . ToList ( ) ;
290- response = new ManagerStoreCrudResponse < DomInstance > ( instances . Clone ( ) ) ;
289+ var instances = request . Query . ExecuteInMemory ( module . Instances . Values ) . Select ( instance => instance . DeepClone ( ) ) . ToList ( ) ;
290+ response = new ManagerStoreCrudResponse < DomInstance > ( instances ) ;
291291 return true ;
292292 }
293293
294294 case ManagerStoreCreateRequest < DomInstance > request :
295295 {
296296 var module = GetDomModule ( request . ModuleId ) ;
297- var instance = ( DomInstance ) request . Object . Clone ( ) ;
297+ var instance = request . Object . DeepClone ( ) ;
298298
299299 var utcNow = DateTime . UtcNow ;
300300 ( ( ITrackCreatedAt ) instance ) . CreatedAt = utcNow ;
@@ -322,7 +322,7 @@ public bool TryHandleMessage(DMSMessage message, out DMSMessage response)
322322 case ManagerStoreUpdateRequest < DomInstance > request :
323323 {
324324 var module = GetDomModule ( request . ModuleId ) ;
325- var instance = ( DomInstance ) request . Object . Clone ( ) ;
325+ var instance = request . Object . DeepClone ( ) ;
326326
327327 var utcNow = DateTime . UtcNow ;
328328 ( ( ITrackLastModified ) instance ) . LastModified = utcNow ;
@@ -350,7 +350,7 @@ public bool TryHandleMessage(DMSMessage message, out DMSMessage response)
350350 case ManagerStoreDeleteRequest < DomInstance > request :
351351 {
352352 var module = GetDomModule ( request . ModuleId ) ;
353- var instance = ( DomInstance ) request . Object . Clone ( ) ;
353+ var instance = request . Object . DeepClone ( ) ;
354354
355355 var @event = new DomInstancesChangedEventMessage ( - 1 , request . ModuleId ) ;
356356
@@ -376,7 +376,7 @@ public bool TryHandleMessage(DMSMessage message, out DMSMessage response)
376376 var utcNow = DateTime . UtcNow ;
377377
378378 var module = GetDomModule ( request . ModuleId ) ;
379- var instances = request . Objects . Clone ( ) ;
379+ var instances = request . Objects . Select ( instance => instance . DeepClone ( ) ) . ToList ( ) ;
380380
381381 var @event = new DomInstancesChangedEventMessage ( - 1 , request . ModuleId ) ;
382382
@@ -416,7 +416,7 @@ public bool TryHandleMessage(DMSMessage message, out DMSMessage response)
416416 case ManagerStoreBulkDeleteRequest < DomInstance > request :
417417 {
418418 var module = GetDomModule ( request . ModuleId ) ;
419- var instances = request . Objects . Clone ( ) ;
419+ var instances = request . Objects . Select ( instance => instance . DeepClone ( ) ) . ToList ( ) ;
420420
421421 var successfulIds = new List < DomInstanceId > ( ) ;
422422 var unsuccessfulIds = new List < DomInstanceId > ( ) ;
@@ -444,7 +444,7 @@ public bool TryHandleMessage(DMSMessage message, out DMSMessage response)
444444 {
445445 var module = GetDomModule ( request . ModuleId ) ;
446446 var instances = request . Filter . ExecuteInMemory ( module . Instances . Values ) . ToList ( ) ;
447- var pagingHandler = new DomPagingHandler < DomInstance > ( instances . Clone ( ) ) ;
447+ var pagingHandler = new DomPagingHandler < DomInstance > ( instances . Select ( instance => instance . DeepClone ( ) ) ) ;
448448 module . PagingHandlers . TryAdd ( pagingHandler . Cookie , pagingHandler ) ;
449449
450450 var nextPage = pagingHandler . GetNextPage ( request . PreferredPageSize , out var isLast ) ;
0 commit comments