Пример #1
0
        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}";
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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());
        }
Пример #4
0
        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}";
            }
        }
Пример #5
0
        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());
        }
Пример #6
0
 private void ResetDialog()
 {
     DataPoint = new DataPointForUpdateDto {
         Name = "dp", Description = "dp", TimeStamp = DateTime.Now
     };
 }