public async Task <List <BadgeModel> > GetBadges(Guid personUid) { var personToBadgeEntities = await _badgeRepository.GetBadges(personUid); var badges = await _badgeRepository.GetAllBadges(); var models = _mapper.Map <List <BadgeModel> >(badges); var httpContext = _contextAccessor.HttpContext; var culture = CultureParser.GetCultureFromHttpContext(httpContext); foreach (var model in models) { model.Name = BadgeText.GetBadgeText(model.BadgeName, BadgeTextType.Name, culture); model.Description = BadgeText.GetBadgeText(model.BadgeName, BadgeTextType.Description, culture); model.Received = personToBadgeEntities.Any(x => x.BadgeId == (long)model.BadgeName); } if (personToBadgeEntities.Any(x => !x.IsViewed)) { await _badgeRepository.SetPersonBadgesViewed(personUid); } return(models); }