Beispiel #1
0
 public static void FiimDbUpdate(ObservableCollection <FiimPlayerEntry> players, bool redWin, bool blackWin)
 {
     using (var context = new SaluteDbContext())
     {
         foreach (var player in players)
         {
             var         currentNick  = player.Nick;
             IFiimRating fiimInSeason =
                 context.SeasonRatingFiimDbSet.FirstOrDefault(t => t.Nick == currentNick);
             IFiimRating fiimInSeries =
                 context.SeriesRatingFiimDbSet.FirstOrDefault(t => t.Nick == currentNick);
             IFiimRating fiimInWeek = context.WeekRatingFiimDbSet.FirstOrDefault(t => t.Nick == currentNick);
             IFiimRating fiimInAl   = context.AllTimeRatingFiimDbSet.FirstOrDefault(t => t.Nick == currentNick);
             if (fiimInSeason != null)
             {
                 GeneralFiimDbUpdate(player, fiimInSeason, redWin, blackWin);
             }
             else
             {
                 var newPlayer = new SeasonRatingFiim(player, redWin, blackWin);
                 context.SeasonRatingFiimDbSet.Add(newPlayer);
             }
             if (fiimInSeries != null)
             {
                 GeneralFiimDbUpdate(player, fiimInSeries, redWin, blackWin);
             }
             else
             {
                 var newPlayer = new SeriesRatingFiim(player, redWin, blackWin);
                 context.SeriesRatingFiimDbSet.Add(newPlayer);
             }
             if (fiimInWeek != null)
             {
                 GeneralFiimDbUpdate(player, fiimInWeek, redWin, blackWin);
             }
             else
             {
                 var newPlayer = new WeekRatingFiim(player, redWin, blackWin);
                 context.WeekRatingFiimDbSet.Add(newPlayer);
             }
             if (fiimInAl != null)
             {
                 GeneralFiimDbUpdate(player, fiimInAl, redWin, blackWin);
             }
             else
             {
                 var newPlayer = new AllTimeRatingFiim(player, redWin, blackWin);
                 context.AllTimeRatingFiimDbSet.Add(newPlayer);
             }
         }
         context.SaveChanges();
     }
 }
Beispiel #2
0
 public static void GeneralFiimDbUpdate(FiimPlayerEntry player, IFiimRating currentPlayer, bool redWin, bool blackWin)
 {
     currentPlayer.Games           += 1;
     currentPlayer.ScoreMain       += player.ScoreMain;
     currentPlayer.ScoreAdditional += player.ScoreAdditional;
     currentPlayer.Rating           = (currentPlayer.ScoreMain + currentPlayer.ScoreAdditional) / currentPlayer.Games * 100;
     if (player.IsRedTeam() && redWin)
     {
         currentPlayer.RedWin += 1;
     }
     if (player.IsBlackTeam() && blackWin)
     {
         currentPlayer.BlackWin += 1;
     }
 }