public SeedInformationWindow(Seed seed, AmoebaManager amoebaManager)
{
if (seed == null) throw new ArgumentNullException(nameof(seed));
if (amoebaManager == null) throw new ArgumentNullException(nameof(amoebaManager));
_seed = seed;
_amoebaManager = amoebaManager;
InitializeComponent();
{
var icon = new BitmapImage();
icon.BeginInit();
icon.StreamSource = new FileStream(Path.Combine(_serviceManager.Paths["Icons"], "Amoeba.ico"), FileMode.Open, FileAccess.Read, FileShare.Read);
icon.EndInit();
if (icon.CanFreeze) icon.Freeze();
this.Icon = icon;
}
lock (_seed.ThisLock)
{
_nameTextBox.Text = _seed.Name;
_keywordsTextBox.Text = string.Join(", ", _seed.Keywords);
_signatureTextBox.Text = seed.Certificate?.ToString();
_creationTimeTextBox.Text = seed.CreationTime.ToLocalTime().ToString(LanguagesManager.Instance.DateTime_StringFormat, System.Globalization.DateTimeFormatInfo.InvariantInfo);
_lengthTextBox.Text = string.Format("{0} ({1:#,0} Byte)", NetworkConverter.ToSizeString(_seed.Length), _seed.Length);
}
_storeSignatureListView.ItemsSource = _storeSignatureCollection;
try
{
_storeTabItem.Cursor = Cursors.Wait;
Task.Run(() =>
{
return this.GetSignature(_seed);
}).ContinueWith(task =>
{
foreach (var signature in task.Result)
{
_storeSignatureCollection.Add(signature);
}
_storeTabItem.Cursor = null;
}, TaskScheduler.FromCurrentSynchronizationContext());
}
catch (Exception)
{
}
}