CmisSync.Lib.Database.Database.MoveFolder C# (CSharp) Метод

MoveFolder() публичный Метод

Move a folder.
public MoveFolder ( SyncItem oldItem, SyncItem newItem ) : void
oldItem SyncItem
newItem SyncItem
Результат void
        public void MoveFolder(SyncItem oldItem, SyncItem newItem)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();
            parameters.Add("oldPath", oldItem.RemoteRelativePath);
            parameters.Add("oldPathLike", oldItem.RemoteRelativePath + "/%");
            parameters.Add("substringIndex", oldItem.RemoteRelativePath.Length + 1);
            parameters.Add("newPath", newItem.RemoteRelativePath);
            parameters.Add("newLocalPath", newItem.LocalRelativePath);

            // Update folder itself
            ExecuteSQLAction("UPDATE folders SET path=@newPath, localPath=@newLocalPath WHERE path=@oldPath", parameters);

            // UPdate all folders under this folder
            ExecuteSQLAction("UPDATE folders SET path=@newPath||SUBSTR(path, @substringIndex), localPath=@newLocalPath||SUBSTR(localPath, @substringIndex) WHERE path LIKE @oldPathLike", parameters);

            // Update all files under this folder
            ExecuteSQLAction("UPDATE files SET path=@newPath||SUBSTR(path, @substringIndex), localPath=@newLocalPath||SUBSTR(localPath, @substringIndex) WHERE path LIKE @oldPathLike", parameters);
        }