BusinessLogic.Logic.Players.PlayerRetriever.GetNemePointsSummary C# (CSharp) Метод

GetNemePointsSummary() приватный Метод

private GetNemePointsSummary ( int playerId ) : NemePointsSummary
playerId int
Результат BusinessLogic.Models.Points.NemePointsSummary
        internal virtual NemePointsSummary GetNemePointsSummary(int playerId)
        {
            var nemePointsSummary = dataContext.GetQueryable<PlayerGameResult>()
                                          .Where(result => result.PlayerId == playerId)
                                          .GroupBy(x => x.PlayerId)
                                          .Select(
                                                  g =>
                                                  new NemePointsSummary
                                                  {
                                                      //had to cast to handle the case where there is no data:
                                                      //http://stackoverflow.com/questions/6864311/the-cast-to-value-type-int32-failed-because-the-materialized-value-is-null
                                                      BaseNemePoints = g.Sum(x => (int?)x.NemeStatsPointsAwarded) ?? 0,
                                                      GameDurationBonusNemePoints = g.Sum(x => (int?)x.GameDurationBonusPoints) ?? 0,
                                                      WeightBonusNemePoints = g.Sum(x => (int?)x.GameWeightBonusPoints) ?? 0
                                                  })
                                .SingleOrDefault();
            return nemePointsSummary ?? new NemePointsSummary(0, 0, 0);
        }