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

MoveFile() private method

Move a file remotely.
private MoveFile ( string oldDirectory, string newDirectory, IFolder oldRemoteFolder, IFolder newRemoteFolder, IDocument remoteFile ) : bool
oldDirectory string
newDirectory string
oldRemoteFolder IFolder
newRemoteFolder IFolder
remoteFile IDocument
return bool
            private bool MoveFile(string oldDirectory, string newDirectory, IFolder oldRemoteFolder, IFolder newRemoteFolder, IDocument remoteFile)
            {
                SleepWhileSuspended();

                string oldPathname = Path.Combine(oldDirectory, remoteFile.Name);
                string newPathname = Path.Combine(newDirectory, remoteFile.Name);
                try
                {

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


                    IDocument updatedDocument = (IDocument)remoteFile.Move(oldRemoteFolder, newRemoteFolder);

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

                    // Update timestamp in database.
                    database.SetFileServerSideModificationDate(
                        SyncItemFactory.CreateFromLocalPath(newPathname, false, repoInfo, database),
                        ((DateTime)updatedDocument.LastModificationDate).ToUniversalTime());    // database query

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