public BL.Domain.Questionnaire.Questionnaire UpdateQuestionnaire(
            BL.Domain.Questionnaire.Questionnaire updatedQuestionnaire
            )
        {
            var entryToUpdate = ReadQuestionnaire(updatedQuestionnaire.QuestionnaireId);

            if (entryToUpdate == null)
            {
                throw new ArgumentException("Questionnaire to update not found.");
            }

            _ctx.Entry(entryToUpdate).CurrentValues.SetValues(updatedQuestionnaire);
            _ctx.SaveChanges();

            return(ReadQuestionnaire(updatedQuestionnaire.QuestionnaireId));
        }
        public BL.Domain.Questionnaire.Questionnaire CreateQuestionnaire(
            BL.Domain.Questionnaire.Questionnaire questionnaire
            )
        {
            if (ReadQuestionnaire(questionnaire.QuestionnaireId) != null)
            {
                throw new ArgumentException("Questionnaire already in database.");
            }

            try
            {
                _ctx.Questionnaires.Add(questionnaire);
                _ctx.SaveChanges();

                return(questionnaire);
            }
            catch (DbUpdateException exception)
            {
                var msg = exception.InnerException == null ? "Invalid object." : exception.InnerException.Message;
                throw new ArgumentException(msg);
            }
        }