public override void Solve(
IFileSystemInfo localFile,
IObjectId remoteId,
ContentChangeType localContent = ContentChangeType.NONE,
ContentChangeType remoteContent = ContentChangeType.NONE)
{
var mappedObject = this.Storage.GetObjectByRemoteId(remoteId.Id);
if (mappedObject.LastChangeToken != (remoteId as ICmisObject).ChangeToken) {
throw new ArgumentException("Remote object has been changed since last sync => force crawl sync");
}
bool hasBeenDeleted = this.TryDeleteObjectOnServer(remoteId, mappedObject.Type);
if (hasBeenDeleted) {
this.Storage.RemoveObject(mappedObject);
OperationsLogger.Info(string.Format("Deleted the corresponding remote object {0} of locally deleted object {1}", remoteId.Id, mappedObject.Name));
} else {
OperationsLogger.Warn(string.Format("Permission denied while trying to Delete the locally deleted object {0} on the server.", mappedObject.Name));
}
}