Пример #1
0
        public void RestoreObject(MockObject @object)
        {
            CheckLocked();
            if (@object == null || [email protected])
            {
                return;
            }

            Logger.Debug($"Restoring {@object.Uri(EtpVersion.v12)}");
            foreach (var parent in @object.Containers.Values)
            {
                Logger.Debug($"Updating container object {parent.Uri(EtpVersion.v12)}");
                foreach (var grandParent in parent.Containers.Values)
                {
                    Logger.Debug($"Updating container object {grandParent.Uri(EtpVersion.v12)}");
                }
            }

            var restored = @object.Restore(StoreLastWrite);

            foreach (var restoredObject in restored.Values)
            {
                @object.Dataspace.DeletedObjects.Remove(restoredObject.Uuid);
                @object.Dataspace.Objects[restoredObject.Uuid] = restoredObject;
            }

            RefreshAll();
        }