public static AbstractFolderEvent CreateEvent(
bool isFile,
IFileableCmisObject remoteObject = null,
IFileSystemInfo localObject = null,
MetaDataChangeType remoteChange = MetaDataChangeType.NONE,
MetaDataChangeType localChange = MetaDataChangeType.NONE,
string oldRemotePath = null,
IFileSystemInfo oldLocalObject = null,
object src = null) {
if (localChange != MetaDataChangeType.MOVED &&
remoteChange != MetaDataChangeType.MOVED) {
if (isFile) {
return new FileEvent(
localObject as IFileInfo,
remoteObject as IDocument) {
Local = localChange,
Remote = remoteChange
};
} else {
return new FolderEvent(
localObject as IDirectoryInfo,
remoteObject as IFolder,
src) {
Local = localChange,
Remote = remoteChange
};
}
} else {
if (isFile) {
return new FileMovedEvent(
oldLocalObject as IFileInfo,
localObject as IFileInfo,
oldRemotePath,
remoteObject as IDocument) {
Local = localChange,
Remote = remoteChange
};
} else {
return new FolderMovedEvent(
oldLocalObject as IDirectoryInfo,
localObject as IDirectoryInfo,
oldRemotePath,
remoteObject as IFolder,
src) {
Local = localChange,
Remote = remoteChange
};
}
}
}
}