示例#1
0
        public ActionResult <IEnumerable <QuestDto> > GetQuests()
        {
            var user           = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
            var userEntity     = _croudSeekRepository.GetUsers().Where((u) => u.Name == user).FirstOrDefault();
            var questsFromRepo = _croudSeekRepository.GetQuests().Where(q => q.OwnerId == userEntity?.Id || !q.IsPrivate);
            var questDtos      = _mapper.Map <IEnumerable <QuestDto> >(questsFromRepo).Select((q) =>
            {
                q.CanEdit           = true;
                var questUserEntity = _croudSeekRepository.GetUser(q.OwnerId);
                q.IsOwner           = questUserEntity?.Name == user;
                return(q);
            });

            return(Ok(questDtos));
        }