private static void MemberStatusChanged(string nick, bool check) { using (var context = new SaluteDbContext()) { var inSeason = context.SeasonRatingDbSet.FirstOrDefault(t => t.Nick == nick); var inSeries = context.SeriesRatingDbSet.FirstOrDefault(t => t.Nick == nick); var inWeek = context.WeekRatingDbSet.FirstOrDefault(t => t.Nick == nick); var inAllTime = context.AllTimeRatingDbSet.FirstOrDefault(t => t.Nick == nick); var inSeasonFiim = context.SeasonRatingFiimDbSet.FirstOrDefault(t => t.Nick == nick); var inSeriesFiim = context.SeriesRatingFiimDbSet.FirstOrDefault(t => t.Nick == nick); var inWeekFiim = context.WeekRatingFiimDbSet.FirstOrDefault(t => t.Nick == nick); var inAllTimeFim = context.AllTimeRatingFiimDbSet.FirstOrDefault(t => t.Nick == nick); if (inSeason != null) { inSeason.IsMember = check; } if (inSeries != null) { inSeries.IsMember = check; } if (inWeek != null) { inWeek.IsMember = check; } if (inAllTime != null) { inAllTime.IsMember = check; } if (inSeasonFiim != null) { inSeasonFiim.IsMember = check; } if (inSeriesFiim != null) { inSeriesFiim.IsMember = check; } if (inWeekFiim != null) { inWeekFiim.IsMember = check; } if (inAllTimeFim != null) { inAllTimeFim.IsMember = check; } context.SaveChanges(); } }
public async void ChangeSettingsMethod() { var needsRestart = false; var dbBeenChanged = false; var seasonRate = 0; var seriesRate = 0; var allTimeRate = 0; var xml = new XmlDocument(); xml.Load($@"{System.IO.Directory.GetCurrentDirectory()}\Settings.xml"); var seasonBalNode = xml.SelectSingleNode("/Settings/SeasonBal"); if (seasonBalNode != null) { seasonRate = Convert.ToInt32(seasonBalNode.InnerText); } var seriesBalNode = xml.SelectSingleNode("/Settings/SeriesBal"); if (seriesBalNode != null) { seriesRate = Convert.ToInt32(seriesBalNode.InnerText); } var allTimeBalNode = xml.SelectSingleNode("/Settings/AllTimeBal"); if (allTimeBalNode != null) { allTimeRate = Convert.ToInt32(allTimeBalNode.InnerText); } if (seasonRate != 0 && seasonRate != SeasonBal) { foreach (var s in _context.SeasonRatingDbSet) { s.Rating = s.Games < SeasonBal ? 0 : Math.Round((s.Score ?? 0) / s.Games * 100, 3); } dbBeenChanged = true; } if (seriesRate != 0 && seriesRate != SeriesBal) { foreach (var s in _context.SeriesRatingDbSet) { s.Rating = s.Games < SeriesBal ? 0 : Math.Round((s.Score ?? 0) / s.Games * 100, 3); } dbBeenChanged = true; } if (allTimeRate != 0 && allTimeRate != AllTimeBal) { foreach (var s in _context.AllTimeRatingDbSet) { s.Rating = s.Games < AllTimeBal ? 0 : Math.Round((s.Score ?? 0) / s.Games * 100, 3); } dbBeenChanged = true; } if (dbBeenChanged) { await _settingswindow.ShowMessageAsync("SUCCESS", GetLocalized("DbRefreshedMessage"), MessageDialogStyle.Affirmative, _settings); } if (seasonBalNode != null) { seasonBalNode.InnerText = SeasonBal.ToString(); } if (seriesBalNode != null) { seriesBalNode.InnerText = SeriesBal.ToString(); } if (allTimeBalNode != null) { allTimeBalNode.InnerText = AllTimeBal.ToString(); } if (NickBefore != NickAfter && !string.IsNullOrEmpty(NickBefore) && !string.IsNullOrEmpty(NickAfter)) { var foundInSeason = _context.SeasonRatingDbSet.FirstOrDefault(x => x.Nick == NickBefore); if (foundInSeason != null) { foundInSeason.Nick = NickAfter; foundInSeason.NickNormalized = NickAfter.ToLower(); } var foundInSeries = _context.SeriesRatingDbSet.FirstOrDefault(x => x.Nick == NickBefore); if (foundInSeries != null) { foundInSeries.Nick = NickAfter; foundInSeries.NickNormalized = NickAfter.ToLower(); } var foundInAllTime = _context.AllTimeRatingDbSet.FirstOrDefault(x => x.Nick == NickBefore); if (foundInAllTime != null) { foundInAllTime.Nick = NickAfter; foundInAllTime.NickNormalized = NickAfter.ToLower(); } var foundInWeek = _context.WeekRatingDbSet.FirstOrDefault(t => t.Nick == NickBefore); if (foundInWeek != null) { foundInWeek.Nick = NickAfter; foundInWeek.NickNormalized = NickAfter.ToLower(); } await _settingswindow.ShowMessageAsync("SUCCESS", GetLocalized("NickChangedMessage"), MessageDialogStyle.Affirmative, _settings); } if (!string.IsNullOrEmpty(ExtraScoreNick) && NicksCollection.Contains(ExtraScoreNick) && ExtraScoreValue != null) { var seasonTarget = _context.SeasonRatingDbSet.FirstOrDefault(t => t.Nick == ExtraScoreNick); if (seasonTarget != null) { seasonTarget.Score += ExtraScoreValue.Value; seasonTarget.Rating = Math.Round((seasonTarget.Score ?? 0) / seasonTarget.Games * 100, 3); await _settingswindow.ShowMessageAsync("SUCCESS", GetLocalized("PtsAddedMessage"), MessageDialogStyle.Affirmative, _settings); } var seriesTarget = _context.SeriesRatingDbSet.FirstOrDefault(t => t.Nick == ExtraScoreNick); if (seriesTarget != null) { seriesTarget.Score += ExtraScoreValue.Value; seriesTarget.Rating = Math.Round((seriesTarget.Score ?? 0) / seriesTarget.Games * 100, 3); await _settingswindow.ShowMessageAsync("SUCCESS", GetLocalized("PtsAddedMessage"), MessageDialogStyle.Affirmative, _settings); } var weekTarget = _context.WeekRatingDbSet.FirstOrDefault(t => t.Nick == ExtraScoreNick); if (weekTarget != null) { weekTarget.Score += ExtraScoreValue.Value; weekTarget.Rating = Math.Round((weekTarget.Score ?? 0) / weekTarget.Games * 100, 3); await _settingswindow.ShowMessageAsync("SUCCESS", GetLocalized("PtsAddedMessage"), MessageDialogStyle.Affirmative, _settings); } var allTimeTarget = _context.AllTimeRatingDbSet.FirstOrDefault(t => t.Nick == ExtraScoreNick); if (allTimeTarget != null) { allTimeTarget.Score += ExtraScoreValue.Value; allTimeTarget.Rating = Math.Round((allTimeTarget.Score ?? 0) / allTimeTarget.Games * 100, 3); await _settingswindow.ShowMessageAsync("SUCCESS", GetLocalized("PtsAddedMessage"), MessageDialogStyle.Affirmative, _settings); } } if (!Culture.Equals(GetCulture())) { needsRestart = true; var languageNode = xml.SelectSingleNode("/Settings/Language"); if (languageNode != null) { languageNode.InnerText = Culture.Name; } } if (ApplyRatio != IsApplyRatio()) { var ratioNode = xml.SelectSingleNode("/Settings/UseFiimRatio"); if (ratioNode != null) { ratioNode.InnerText = ApplyRatio ? "True" : "False"; } } xml.Save($@"{System.IO.Directory.GetCurrentDirectory()}\Settings.xml"); _context.SaveChanges(); if (!needsRestart) { return; } var result = await ShowMetroDialog("ADD TO DB", GetLocalized("ChangeLanguageMessage"), MessageDialogStyle.AffirmativeAndNegative) .ConfigureAwait(true); if (result == MessageDialogResult.Negative) { return; } Process.Start(Application.ResourceAssembly.Location); Application.Current.Shutdown(); }