コード例 #1
0
 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();
     }
 }
コード例 #2
0
        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();
        }