CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.RenameFolder C# (CSharp) Method

RenameFolder() private method

Rename a folder remotely.
private RenameFolder ( string directory, string newFilename, IFolder remoteFolder ) : bool
directory string
newFilename string
remoteFolder IFolder
return bool
            private bool RenameFolder(string directory, string newFilename, IFolder remoteFolder)
            {
                SleepWhileSuspended();

                string oldPathname = Path.Combine(directory, remoteFolder.Name);
                string newPathname = Path.Combine(directory, newFilename);
                try
                {

                    Logger.InfoFormat("Renaming: {0} -> {1}", oldPathname, newPathname);

                    IDictionary<string, object> properties = new Dictionary<string, object>();
                    properties[PropertyIds.Name] = newFilename;

                    IFolder updatedFolder = (IFolder)remoteFolder.UpdateProperties(properties);

                    // Update the path in the database...
                    database.MoveFolder(SyncItemFactory.CreateFromLocalPath(oldPathname, true, repoInfo, database),
                        SyncItemFactory.CreateFromLocalPath(newPathname, true, repoInfo, database));      // database query

                    Logger.InfoFormat("Renamed folder: {0} -> {1}", oldPathname, newPathname);
                    return true;
                }
                catch (Exception e)
                {
                    ProcessRecoverableException(String.Format("Could not rename folder: {0} -> {1}", oldPathname, newPathname), e);
                    return false;
                }
            }