Ejemplo n.º 1
0
        public async Task <ActionResult <Logic.Objects.Question> > PostSurveyQuestion([FromBody, Bind("questionText, isSurveyOptionList")] Models.ApiQuestion question)
        {
            try
            {
                Logic.Objects.Question newQuestion = new Logic.Objects.Question()
                {
                    questionID         = Guid.NewGuid(),
                    questionText       = question.questionText,
                    isSurveyOptionList = question.isSurveyOptionList
                };

                try
                {
                    await repository.CreateSurveyQuestionAsync(newQuestion);

                    await repository.SaveAsync();

                    return(Ok(await repository.GetSurveyQuestionByIDAsync(newQuestion.questionID)));
                }
                catch (Exception e)
                {
                    return(BadRequest(e.Message));
                }
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
            }
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <Logic.Objects.Option> > PutQuestionReadability(Guid surveyQuestionID, [FromBody] ApiQuestionReadability questionReadability)
        {
            try
            {
                Logic.Objects.Question logicQuestion = await repository.GetSurveyQuestionByIDAsync(surveyQuestionID);

                logicQuestion.senderCanView = questionReadability.senderCanView;
                try
                {
                    await repository.UpdateSurveyQuestionByIDAsync(logicQuestion);

                    await repository.SaveAsync();

                    return(Ok(await repository.GetSurveyQuestionByIDAsync(surveyQuestionID)));
                }
                catch (Exception e)
                {
                    throw e.InnerException;
                }
            }
            catch (Exception e)
            {
                throw e.InnerException;
            }
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <Logic.Objects.Option> > PutQuestionIsSurveyOptionList(Guid surveyQuestionID, [FromBody, Bind("isSurveyOptionList")] Models.Question_Models.ApiQuestionIsSurveyOptionList questionIsSurveyOptionList)
        {
            try
            {
                Logic.Objects.Question logicQuestion = await repository.GetSurveyQuestionByIDAsync(surveyQuestionID);

                logicQuestion.isSurveyOptionList = questionIsSurveyOptionList.isSurveyOptionList;
                try
                {
                    await repository.UpdateSurveyQuestionByIDAsync(logicQuestion);

                    await repository.SaveAsync();

                    return(Ok(await repository.GetSurveyQuestionByIDAsync(surveyQuestionID)));
                }
                catch (Exception e)
                {
                    throw e.InnerException;
                }
            }
            catch (Exception e)
            {
                throw e.InnerException;
            }
        }
Ejemplo n.º 4
0
 public static SurveyQuestionXref MapQuestionXref(Logic.Objects.Question logicQuestion)
 {
     Data.Entities.SurveyQuestionXref contextQuestionXref = new SurveyQuestionXref()
     {
         SurveyQuestionId = logicQuestion.questionID,
     };
     return(contextQuestionXref);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// maps a logic question to a context question
 /// </summary>
 /// <param name="newQuestion"></param>
 /// <returns></returns>
 public static Data.Entities.SurveyQuestion MapQuestion(Logic.Objects.Question newQuestion)
 {
     Entities.SurveyQuestion contextQuestion = new SurveyQuestion()
     {
         SurveyQuestionId   = newQuestion.questionID,
         QuestionText       = newQuestion.questionText,
         IsSurveyOptionList = newQuestion.isSurveyOptionList
     };
     return(contextQuestion);
 }
Ejemplo n.º 6
0
 public async Task <Question> GetSurveyQuestionByIDAsync(Guid questionID)
 {
     Logic.Objects.Question logicQuestion = Mapper.MapQuestion(await santaContext.SurveyQuestions
                                                               .Include(sq => sq.SurveyResponses)
                                                               .Include(sq => sq.SurveyQuestionOptionXrefs)
                                                               .ThenInclude(sqoxr => sqoxr.SurveyOption)
                                                               .Include(sq => sq.SurveyQuestionXrefs)
                                                               .FirstOrDefaultAsync(q => q.SurveyQuestionId == questionID));
     return(logicQuestion);
 }
Ejemplo n.º 7
0
        public async Task <ActionResult <Logic.Objects.Question> > GetQuestionsByIDAsync(Guid surveyQuestionID)
        {
            try
            {
                Logic.Objects.Question logicQuestion = await repository.GetSurveyQuestionByIDAsync(surveyQuestionID);

                return(Ok(logicQuestion));
            }
            catch (Exception e)
            {
                throw e.InnerException;
            }
        }
Ejemplo n.º 8
0
        public async Task <ActionResult <List <Logic.Objects.Option> > > GetQuestionOptionFromQuestionInSurveyAsync(Guid surveyID, Guid surveyQuestionID)
        {
            try
            {
                Logic.Objects.Survey logicSurvey = await repository.GetSurveyByID(surveyID);

                Logic.Objects.Question logicQuestion = logicSurvey.surveyQuestions.FirstOrDefault(q => q.questionID == surveyQuestionID);
                return(Ok(logicQuestion.surveyOptionList));
            }
            catch
            {
                throw new NotImplementedException();
            }
        }