Example #1
0
        /// <summary>
        /// The assetTileSettingsWindow_OnAssetChanged
        /// </summary>
        /// <param name="sender">The sender<see cref="object"/></param>
        /// <param name="e">The e<see cref="Asset"/></param>
        private void AssetTileSettingsWindow_OnAssetTileSettingsChanged(object sender, OnAssetTileSettingsChangedEventArgs e)
        {
            if (e.NewApiName != this.AssetTileData.ApiName ||
                e.NewAsset.AssetId != this.AssetTileData.Asset.AssetId ||
                e.NewAsset.ConvertCurrency != this.AssetTileData.Asset.ConvertCurrency)
            {
                if (this.AssetTileData.Asset != null)
                {
                    this.FireOnAssetUnselected();
                }

                this.AssetTileData.Asset   = e.NewAsset;
                this.AssetTileData.ApiName = e.NewApiName;
                this.FireOnAssetSelected();
            }
            else
            {
                // Fire the event if the asset did not change, so that possibly involved portfolio tiles can refresh instantly
                this.FireOnAssetTileUpdated();
            }

            this.CalculateProfit();

            this.Dispatcher.Invoke(() =>
            {
                this.RefreshTileStyle();
                this.RefreshAssetTextblocks();
                this.button_Calc.Visibility = Visibility.Visible;
                this.button_Info.Visibility = Visibility.Visible;

                this.RefreshTileDataTextblocks();
            });

            this.FireOnAppDataChanged();
        }
Example #2
0
 /// <summary>
 /// Fires the OnAssetTileSettingsChanged event.
 /// </summary>
 /// <param name="newAsset">The newAsset<see cref="Asset"/></param>
 private void FireOnAssetTileSettingsChanged(OnAssetTileSettingsChangedEventArgs onAssetTileSettingsChangedEventArgs)
 {
     this.OnAssetTileSettingsChanged?.Invoke(this, onAssetTileSettingsChangedEventArgs);
 }