CopyCommand WIP

This commit is contained in:
2022-06-08 22:05:23 +02:00
parent 1547e84de4
commit e947282d7b
13 changed files with 338 additions and 7 deletions

View File

@@ -0,0 +1,28 @@
using FileTime.Core.Extensions;
using FileTime.Core.Models;
namespace FileTime.Core.Command;
public static class Helper
{
public static async Task<string?> GetNewNameAsync(IContainer resolvedTarget, string name, TransportMode transportMode)
{
var items = await resolvedTarget.Items.GetItemsAsync() ?? throw new NullReferenceException();
var newName = name;
var targetNameExists = resolvedTarget != null && items.Any(i => i.Path.GetName() == newName);
if (transportMode == TransportMode.Merge && resolvedTarget != null)
{
for (var i = 0; targetNameExists; i++)
{
newName = name + (i == 0 ? "_" : $"_{i}");
targetNameExists = resolvedTarget != null && items.Any(i => i.Path.GetName() == newName);
}
}
else if (transportMode == TransportMode.Skip && targetNameExists)
{
return null;
}
return newName;
}
}