public async Task <UserWinsDto> GetTotalUserWinsVsUserType(int userId, int opponentUserId, int tournamentId, int seasonId, int typeId) { var dto = new UserWinsDto(); var query1 = await context.BilliardsMatches .Where((x => x.WinUserId == userId && x.LoseUserId == opponentUserId && x.TournamentId == tournamentId && x.SeasonNumberId == seasonId && x.TypeId == typeId)).ToListAsync(); var query2 = await context.BilliardsMatches .Where((y => y.LoseUserId == userId && y.WinUserId == opponentUserId && y.TournamentId == tournamentId && y.SeasonNumberId == seasonId && y.TypeId == typeId)).ToListAsync(); foreach (var item in query1) { dto.UserWins += item.WinnerWins; } foreach (var item in query2) { dto.UserWins += item.LoserWins; } dto.UserId = userId; return(dto); }
public async Task <UserWinsDto> GetUserTotalWins(int userId) { var dto = new UserWinsDto(); var query = await context.BilliardsMatches.Where(x => x.WinUserId == userId).ToListAsync(); foreach (var item in query) { dto.UserWins += item.WinnerWins; } query = await context.BilliardsMatches.Where(x => x.LoseUserId == userId).ToListAsync(); foreach (var item in query) { dto.UserWins += item.LoserWins; } dto.UserId = userId; return(dto); }