Exemple #1
0
        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));
            }
        }
Exemple #2
0
        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}."));
            }
        }