/// <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(); }
/// <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); }