protected override async Task OnInitializedAsync() { Saved = false; int.TryParse(QuestId, out var questId); int.TryParse(DataPointId, out var dataPointId); Quests = (await QuestDataService.GetAllQuests()).ToList(); if (questId == 0 || dataPointId == 0) //new quest is being created { //add some defaults DataPoint = new DataPointForUpdateDto { IsPrivate = false, IsNegative = false, TimeStamp = DateTimeOffset.Now }; } else { DataPointDto = await DataPointDataService.GetDataPointForQuest(questId, dataPointId); QuestId = DataPointDto.QuestId.ToString(); DataPoint = Mapper.Map <DataPointForUpdateDto>(DataPointDto); Title = $"Details for {DataPoint.Description}"; } }
public async Task UpdateDataPointForQuest(int questId, int dataPointId, DataPointForUpdateDto dataPoint) { var json = JsonSerializer.Serialize(dataPoint); var dpJson = new StringContent(json, Encoding.UTF8, "application/json"); var result = await _httpClient.PutAsync($"api/quests/{questId}/datapoints/{dataPointId}", dpJson); }
public ActionResult PartiallyUpdateDataPointForQuest(int questId, int dataPointId, JsonPatchDocument <DataPointForUpdateDto> patchDocument) { if (!_croudSeekRepository.QuestExists(questId)) { return(NotFound()); } var dataPointForQuestFromRepo = _croudSeekRepository.GetDataPoint(questId, dataPointId); if (dataPointForQuestFromRepo == null) { var dataPointDto = new DataPointForUpdateDto(); patchDocument.ApplyTo(dataPointDto, ModelState); if (!TryValidateModel(dataPointDto)) { return(ValidationProblem(ModelState)); } var dataPointToAdd = _mapper.Map <Entities.DataPoint>(dataPointDto); dataPointToAdd.Id = dataPointId; _croudSeekRepository.AddDataPoint(questId, dataPointToAdd); _croudSeekRepository.Save(); var dataPointToReturn = _mapper.Map <DataPointDto>(dataPointToAdd); return(CreatedAtRoute("GetCourseForAuthor", new { questId, dataPointId = dataPointToReturn.Id }, dataPointToReturn)); } var dataPointToPatch = _mapper.Map <DataPointForUpdateDto>(dataPointForQuestFromRepo); // add validation patchDocument.ApplyTo(dataPointToPatch, ModelState); if (!TryValidateModel(dataPointToPatch)) { return(ValidationProblem(ModelState)); } _mapper.Map(dataPointToPatch, dataPointForQuestFromRepo); _croudSeekRepository.UpdateDataPoint(dataPointForQuestFromRepo); _croudSeekRepository.Save(); return(NoContent()); }
protected override async Task OnInitializedAsync() { Saved = false; int.TryParse(QuestId, out var questId); int.TryParse(DataPointId, out var dataPointId); Quests = (await QuestDataService.GetAllQuests()).ToList(); if (questId != 0) { IsEdit = true; QuestId = questId.ToString(); } if (questId == 0 || dataPointId == 0) //new datapoint is being created { //add some defaults DataPoint = new DataPointForUpdateDto { IsPrivate = false, IsNegative = false, TimeStamp = DateTimeOffset.Now }; if (questId == 0 && Quests?.Count > 0) { QuestId = Quests[0].Id.ToString(); } } else { DataPointDto = await DataPointDataService.GetDataPointForQuest(questId, dataPointId); QuestId = DataPointDto.QuestId.ToString(); DataPoint = Mapper.Map <DataPointForUpdateDto>(DataPointDto); MapMarkers = new List <Marker> { new Marker { Description = $"{DataPoint.Description}", ShowPopup = false, X = DataPoint.Longitude, Y = DataPoint.Latitude, RadiusMeters = DataPoint.RadiusMeters, IsNegative = DataPoint.IsNegative, Certainty = DataPoint.Certainty } }; Title = $"Details for {DataPoint.Description}"; } }
public IActionResult UpdateDataPointForQuest(int questId, int dataPointId, DataPointForUpdateDto dataPoint) { if (!_croudSeekRepository.QuestExists(questId)) { return(NotFound()); } var dataPointForQuestFromRepo = _croudSeekRepository.GetDataPoint(questId, dataPointId); if (dataPointForQuestFromRepo == null) { var dataPointToAdd = _mapper.Map <Entities.DataPoint>(dataPoint); dataPointToAdd.Id = 0; dataPointToAdd.QuestId = questId; _croudSeekRepository.AddDataPoint(questId, dataPointToAdd); _croudSeekRepository.Save(); var dataPointToReturn = _mapper.Map <DataPointDto>(dataPointToAdd); return(CreatedAtRoute("GetdataPointForQuest", new { questId, dataPointId = dataPointToReturn.Id }, dataPointToReturn)); } // map the entity to a CourseForUpdateDto // apply the updated field values to that dto // map the CourseForUpdateDto back to an entity _mapper.Map(dataPoint, dataPointForQuestFromRepo); dataPointForQuestFromRepo.QuestId = questId; _croudSeekRepository.UpdateDataPoint(dataPointForQuestFromRepo); _croudSeekRepository.Save(); return(NoContent()); }
private void ResetDialog() { DataPoint = new DataPointForUpdateDto { Name = "dp", Description = "dp", TimeStamp = DateTime.Now }; }