示例#1
0
        public ActionResult DeleteQuest(int questId)
        {
            var questFromRepo = _croudSeekRepository.GetQuest(questId, true);

            if (questFromRepo == null)
            {
                return(NotFound());
            }
            var user       = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
            var userEntity = _croudSeekRepository.GetUsers().Where((u) => u.Name == user).FirstOrDefault();

            var questUserEntity = _croudSeekRepository.GetUser(questFromRepo.OwnerId);

            if (questUserEntity?.Name != user)
            {
                return(Unauthorized());
            }
            foreach (var datapoint in questFromRepo.DataPoints)
            {
                _croudSeekRepository.DeleteDataPoint(datapoint);
            }
            _croudSeekRepository.DeleteQuest(questFromRepo);
            _croudSeekRepository.Save();

            return(NoContent());
        }
示例#2
0
        public IActionResult DeleteDataPointForQuest(int questId, int dataPointId)
        {
            if (!_croudSeekRepository.QuestExists(questId))
            {
                return(NotFound());
            }

            var dataPointForQuestFromRepo = _croudSeekRepository.GetDataPoint(questId, dataPointId);

            if (dataPointForQuestFromRepo == null)
            {
                return(NotFound());
            }

            _croudSeekRepository.DeleteDataPoint(dataPointForQuestFromRepo);
            _croudSeekRepository.Save();

            return(NoContent());
        }