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()); }
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()); }