private void _okButton_Click(object sender, RoutedEventArgs e)
{
lock (Settings.Instance.Global_TrustSignatures.ThisLock)
{
Settings.Instance.Global_TrustSignatures.Clear();
Settings.Instance.Global_TrustSignatures.AddRange(_downloadSignatureCollection);
}
var uploadLinkItems = new List<LinkItem>();
{
var tempLinkItems = new List<LinkItem>();
foreach (var item in _uploadLinkCollection)
{
var linkItem = new LinkItem();
linkItem.Signature = item.Signature;
linkItem.TrustSignatures.AddRange(item.TrustSignatures);
linkItem.DeleteSignatures.AddRange(item.DeleteSignatures);
tempLinkItems.Add(linkItem);
}
lock (Settings.Instance.Global_LinkItems.ThisLock)
{
foreach (var item in Settings.Instance.Global_LinkItems.ToArray())
{
if (!tempLinkItems.Contains(item))
{
Settings.Instance.Global_LinkItems.Remove(item);
}
}
foreach (var item in tempLinkItems)
{
if (!Settings.Instance.Global_LinkItems.Contains(item))
{
Settings.Instance.Global_LinkItems.Add(item);
uploadLinkItems.Add(item);
}
}
}
}
foreach (var item in uploadLinkItems)
{
var digitalSignature = Settings.Instance.Global_DigitalSignatures.FirstOrDefault(n => n.ToString() == item.Signature);
if (digitalSignature == null) return;
var link = new Link(item.TrustSignatures, item.DeleteSignatures);
_amoebaManager.Upload(link, digitalSignature);
}
this.DialogResult = true;
}