Amoeba.Windows.SeedInformationWindow.SeedInformationWindow C# (CSharp) Method

SeedInformationWindow() public method

public SeedInformationWindow ( Seed seed, AmoebaManager amoebaManager ) : System
seed Seed
amoebaManager Library.Net.Amoeba.AmoebaManager
return System
        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)
            {

            }
        }