How can i distinguish between rename and duplicate. Currently this is how i am trying to do:
using (var dbx = new DropboxClient(RefreshToken, Appkey, Appsecret))
{
try
{
var metadata = (await dbx.Files.GetMetadataAsync("/" + backupItem.Path));
if (metadata != null)
{
var remote = "/" + remoteUrl;
var fromPath = "/" + backupItem.Path;
RelocationResult result = await dbx.Files.MoveV2Async(fromPath, remote);
if(result != null)
{
var updated = await dbx.Files.UploadAsync(
"/" + remoteUrl,
mode: WriteMode.Overwrite.Instance,
body: fileStream);
}
}
}
catch
{
var updated = await dbx.Files.UploadAsync(
"/" + remoteUrl,
mode: WriteMode.Overwrite.Instance,
body: fileStream);
}
When i try to rename it is working because moveasync will get invoked but when i try to duplicate the file it is updating the existing file rather than duplicating it. Do we have any way to handle my scenario.
For the first time when user creates any file our GetMetadatAsync will throw an error because in the mentioned path we dont have file so it goes into catch block and upload the new file.
This should happen in duplication also.