示例#1
0
        public IActionResult Put(int id, [FromBody] SurveyUpdateDTO survey)
        {
            if (survey == null)
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var surveyExists = _adminManager.SurveyExists(id);

            if (!surveyExists)
            {
                return(NotFound());
            }
            _adminManager.UpdateSurvey <SurveyUpdateDTO>(id, survey);
            _adminManager.SurveySave();

            return(NoContent());
        }
        public IActionResult Patch(int id, [FromBody] JsonPatchDocument <SurveyUpdateDTO> survey)
        {
            if (survey == null)
            {
                return(BadRequest());
            }
            var surveyToUpdate = _rep.GetSurvey(id);

            if (surveyToUpdate == null)
            {
                return(NotFound());
            }
            var surveyPatch = new SurveyUpdateDTO()
            {
                Name = surveyToUpdate.Name,
            };

            survey.ApplyTo(surveyPatch, ModelState);

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //if (surveyPatch.something < 1534)
            //    ModelState.AddModelError("Established",
            //        "This would be an example of back-end data-validation");

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _rep.UpdateSurvey(id, surveyPatch);
            _rep.Save();

            return(NoContent());
        }