private void UserControl_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { if (!(DataContext is UserData userData)) { return; } var gachaList = JsonSerializer.Deserialize <List <WishData> >(File.ReadAllText(userData.WishLogFile), JsonOptions); var analyzer = new PieChartAnalyzer(gachaList); PieChartViewModels.Clear(); if (analyzer.CharacterEventStatistics.Count > 0) { PieChartViewModels.Add(new PieChartViewModel(analyzer.CharacterEventStatistics)); } if (analyzer.WeaponEventStatistics.Count > 0) { PieChartViewModels.Add(new PieChartViewModel(analyzer.WeaponEventStatistics)); } if (analyzer.PermanentStatistics.Count > 0) { PieChartViewModels.Add(new PieChartViewModel(analyzer.PermanentStatistics)); } if (analyzer.NoviceStatistics.Count > 0) { PieChartViewModels.Add(new PieChartViewModel(analyzer.NoviceStatistics)); } }
public GachaAnalysisView(UserData userData) { InitializeComponent(); _UserData = userData; ToggleButton_HiddenNoviceWish.IsChecked = userData.HiddenNoviceWish; _PieChartViewModels = new ObservableCollection <PieChartViewModel>(); ItemsControl_PieChartView.DataContext = this; var wishList = LocalWishLogLoader.Load(userData.WishLogFile); var analyzer = new PieChartAnalyzer(wishList); PieChartViewModels.Clear(); if (analyzer.CharacterEventStatistics.Count > 0) { PieChartViewModels.Add(new PieChartViewModel(analyzer.CharacterEventStatistics)); } if (analyzer.WeaponEventStatistics.Count > 0) { PieChartViewModels.Add(new PieChartViewModel(analyzer.WeaponEventStatistics)); } if (analyzer.PermanentStatistics.Count > 0) { PieChartViewModels.Add(new PieChartViewModel(analyzer.PermanentStatistics)); } if (analyzer.NoviceStatistics.Count > 0) { _NovicePieChart = new PieChartViewModel(analyzer.NoviceStatistics); if (!_UserData.HiddenNoviceWish) { PieChartViewModels.Add(_NovicePieChart); } } }
public WishSummaryViewModel(UserData userData) { var json = File.ReadAllText(userData.WishLogFile); var list = JsonSerializer.Deserialize <List <WishData> >(json, JsonOptions); var analyzer = new PieChartAnalyzer(list); NoviceStatistics = analyzer.NoviceStatistics; PermanentStatistics = analyzer.PermanentStatistics; CharacterEventStatistics = analyzer.CharacterEventStatistics; WeaponEventStatistics = analyzer.WeaponEventStatistics; InitPieChart(); }