Beispiel #1
0
        public async Task <int> SaveSerieRatingAsync(SerieRatingDTO serieRatingDTO)
        {
            var rating = await _dbContext.SeriesRatings
                         .FirstOrDefaultAsync(mr => mr.SerieId == serieRatingDTO.SerieId && mr.UserId == serieRatingDTO.UserId);

            if (rating != null)
            {
                rating.Rate = serieRatingDTO.Rate;
            }
            else
            {
                rating = new SeriesRating
                {
                    SerieId = serieRatingDTO.SerieId,
                    UserId  = serieRatingDTO.UserId,
                    Rate    = serieRatingDTO.Rate
                };

                await _dbContext.SeriesRatings.AddAsync(rating);
            }

            try
            {
                await _dbContext.SaveChangesAsync();

                _logger.LogInfo($"Successfully saved SeriesRating with rating {serieRatingDTO.Rate} from user {serieRatingDTO.UserId} to serie {serieRatingDTO.SerieId}");
                return(1);
            }
            catch (Exception ex)
            {
                _logger.LogWarn($"Failed to save MoviesRating with rating {serieRatingDTO.Rate} from user {serieRatingDTO.UserId} to serie {serieRatingDTO.SerieId}. Exception: {ex}");
                return(-1);
            }
        }
Beispiel #2
0
        public static void DbUpdate(ObservableCollection <PlayerEntry> players, bool isBestWay,
                                    bool redWin, bool blackWin, bool techRedWin, bool techBlackWin,
                                    ObservableCollection <int?> ugadaykaContainer, bool ugadaykaOn, bool threeZv, int prohBal, int?falseCom)
        {
            var gap = GetGap();

            using (var context = new SaluteDbContext())
            {
                foreach (var player in players)
                {
                    var     fc          = falseCom != null && falseCom == players.IndexOf(player) + 1;
                    var     currentNick = player.Nick;
                    IRating inSeason    = context.SeasonRatingDbSet.FirstOrDefault(t => t.Nick == currentNick);
                    IRating inSeries    = context.SeriesRatingDbSet.FirstOrDefault(t => t.Nick == currentNick);
                    IRating inWeek      = context.WeekRatingDbSet.FirstOrDefault(t => t.Nick == currentNick);
                    IRating inAll       = context.AllTimeRatingDbSet.FirstOrDefault(t => t.Nick == currentNick);
                    if (inSeason != null)
                    {
                        GeneralDbUpdate(player, inSeason, players, isBestWay,
                                        redWin, blackWin, techRedWin, techBlackWin, ugadaykaContainer, ugadaykaOn, threeZv, gap.SeasonMinGames,
                                        true, fc);
                    }
                    else
                    {
                        var newPlayer = new SeasonRating(player, players, isBestWay,
                                                         redWin, blackWin, techRedWin, techBlackWin, ugadaykaContainer, ugadaykaOn, threeZv, fc);
                        context.SeasonRatingDbSet.Add(newPlayer);
                    }
                    if (inSeries != null)
                    {
                        GeneralDbUpdate(player, inSeries, players, isBestWay,
                                        redWin, blackWin, techRedWin, techBlackWin, ugadaykaContainer, ugadaykaOn, threeZv, gap.SeriesMinGames,
                                        false, fc);
                    }
                    else
                    {
                        var newPlayer = new SeriesRating(player, players, isBestWay,
                                                         redWin, blackWin, techRedWin, techBlackWin, ugadaykaContainer, ugadaykaOn, threeZv, fc);
                        context.SeriesRatingDbSet.Add(newPlayer);
                    }
                    if (inWeek != null)
                    {
                        GeneralDbUpdate(player, inWeek, players, isBestWay,
                                        redWin, blackWin, techRedWin, techBlackWin, ugadaykaContainer, ugadaykaOn, threeZv, 1,
                                        false, fc);
                    }
                    else
                    {
                        var newPlayer = new WeekRating(player, players, isBestWay,
                                                       redWin, blackWin, techRedWin, techBlackWin, ugadaykaContainer, ugadaykaOn, threeZv, fc);
                        context.WeekRatingDbSet.Add(newPlayer);
                    }
                    if (inAll != null)
                    {
                        GeneralDbUpdate(player, inAll, players, isBestWay,
                                        redWin, blackWin, techRedWin, techBlackWin, ugadaykaContainer, ugadaykaOn, threeZv, gap.AllTimeMinGames,
                                        false, fc);
                    }
                    else
                    {
                        var newPlayer = new AllTimeRating(player, players, isBestWay,
                                                          redWin, blackWin, techRedWin, techBlackWin, ugadaykaContainer, ugadaykaOn, threeZv, fc);
                        context.AllTimeRatingDbSet.Add(newPlayer);
                    }
                }
                context.SaveChanges();
            }
        }