private void _listViewCheckExistMenuItem_Click(object sender, RoutedEventArgs e)
{
_listViewCheckExistMenuItem_IsEnabled = false;
Task.Run(() =>
{
Thread.CurrentThread.IsBackground = true;
try
{
var sb = new StringBuilder();
sb.AppendLine("Share Delete");
var paths = _amoebaManager.ShareInformation.ToArray()
.Where(n => n.Contains("Path"))
.Select(n => (string)n["Path"]);
var dic = new ConcurrentDictionary<string, HashSet<string>>();
foreach (var path in paths)
{
var directoryPath = System.IO.Path.GetDirectoryName(path);
var hashSet = dic.GetOrAdd(directoryPath, _ =>
{
return new HashSet<string>(Directory.GetFiles(directoryPath, "*", SearchOption.TopDirectoryOnly));
});
if (!hashSet.Contains(path))
{
_amoebaManager.RemoveShare(path);
sb.AppendLine(path);
}
}
Log.Information(sb.ToString().TrimEnd('\r', '\n'));
}
catch (Exception)
{
}
_listViewCheckExistMenuItem_IsEnabled = true;
});
}