public IActionResult UpdateQuestionnaire(int id, NewQuestionnaireDto updatedValues) { try { _unitOfWorkManager.StartUnitOfWork(); Questionnaire updatedQuestionnaire = _questionnaireManager.ChangeQuestionnaire( id, updatedValues.Title, updatedValues.Description, updatedValues.ProjectPhaseId); _unitOfWorkManager.EndUnitOfWork(); if (updatedQuestionnaire == null) { return(BadRequest("Something went wrong while updating the questionnaire.")); } return(Ok(_mapper.Map <QuestionnaireDto>(updatedQuestionnaire))); } catch (ValidationException ve) { return(UnprocessableEntity($"Invalid input data: {ve.ValidationResult.ErrorMessage}")); } catch (ArgumentException e) { return(NotFound(e.Message)); } }
public IActionResult PostNewQuestionnaire(NewQuestionnaireDto newQuestionnaire, [FromRoute] string orgId) { try { _unitOfWorkManager.StartUnitOfWork(); Questionnaire questionnaire = _questionnaireManager.AddQuestionnaire(newQuestionnaire.Title, newQuestionnaire.Description, newQuestionnaire.ProjectPhaseId); _unitOfWorkManager.EndUnitOfWork(); return(CreatedAtAction( "GetQuestionnaire", new { orgId, id = questionnaire.QuestionnaireId }, _mapper.Map <QuestionnaireDto>(questionnaire) )); } catch (ValidationException ve) { return(UnprocessableEntity($"Invalid input data: {ve.ValidationResult.ErrorMessage}")); } catch (Exception e) { return(BadRequest($"Something went wrong in creating the questionnaire: {e.Message}.")); } }