Пример #1
0
        public ActionResult <IEnumerable <DataPointDto> > GetDataPointsForQuest(int questId)
        {
            if (!_croudSeekRepository.QuestExists(questId))
            {
                return(NotFound());
            }
            var user       = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
            var userEntity = _croudSeekRepository.GetUsers().Where((u) => u.Name == user).FirstOrDefault();

            var dataPointsForQuestFromRepo = _croudSeekRepository.GetDataPointsByQuest(questId).Where(dp => dp.OwnerId == userEntity?.Id || !dp.IsPrivate);
            var result = Ok(_mapper.Map <IEnumerable <DataPointDto> >(dataPointsForQuestFromRepo).Select((dp) =>
            {
                var dpEntity = _croudSeekRepository.GetUser(dp.OwnerId);
                dp.CanEdit   = dpEntity?.Name == user;
                dp.IsOwner   = dpEntity?.Name == user;
                return(dp);
            }));

            return(result);
        }