public async Task <ActionResult <Response> > PostSurveyResponse([FromBody, Bind("surveyID, clientID, surveyQuestionID, surveyOptionID, responseText")] ApiSurveyResponse response)
        {
            try
            {
                Logic.Objects.Response logicResponse = new Logic.Objects.Response()
                {
                    surveyResponseID = Guid.NewGuid(),
                    surveyID         = response.surveyID,
                    clientID         = response.clientID,
                    surveyQuestion   = new Question()
                    {
                        questionID = response.surveyQuestionID
                    },
                    surveyOptionID = response.surveyOptionID,
                    responseText   = response.responseText
                };
                await repository.CreateSurveyResponseAsync(logicResponse);

                await repository.SaveAsync();

                return(Ok(await repository.GetSurveyResponseByIDAsync(logicResponse.surveyResponseID)));
            }
            catch (Exception e)
            {
                throw e.InnerException;
            }
        }
        public async Task <ActionResult <Response> > GetSurveyResponse(Guid surveyResponseID)
        {
            Logic.Objects.Response surveyResponse = await repository.GetSurveyResponseByIDAsync(surveyResponseID);

            if (surveyResponse == null)
            {
                return(NotFound());
            }

            return(Ok(surveyResponse));
        }
Пример #3
0
 public async Task <Logic.Objects.Response> GetSurveyResponseByIDAsync(Guid surveyResponseID)
 {
     Logic.Objects.Response logicResponse = Mapper.MapResponse(await santaContext.SurveyResponses
                                                               .Include(sr => sr.Survey)
                                                               .ThenInclude(s => s.EventType)
                                                               .Include(sr => sr.SurveyQuestion.SurveyQuestionXrefs)
                                                               .Include(sr => sr.SurveyQuestion.SurveyQuestionOptionXrefs)
                                                               .ThenInclude(sqox => sqox.SurveyOption)
                                                               .FirstOrDefaultAsync(r => r.SurveyResponseId == surveyResponseID));
     return(logicResponse);
 }
 public static Data.Entities.SurveyResponse MapResponse(Logic.Objects.Response logicResponse)
 {
     Data.Entities.SurveyResponse contextResponse = new SurveyResponse()
     {
         SurveyResponseId = logicResponse.surveyResponseID,
         ClientId         = logicResponse.clientID,
         SurveyId         = logicResponse.surveyID,
         SurveyQuestionId = logicResponse.surveyQuestion.questionID,
         SurveyOptionId   = logicResponse.surveyOptionID,
         ResponseText     = logicResponse.responseText
     };
     return(contextResponse);
 }
        public async Task <ActionResult> DeleteSurveyResponse(Guid surveyResponseID)
        {
            Logic.Objects.Response surveyResponse = await repository.GetSurveyResponseByIDAsync(surveyResponseID);

            if (surveyResponse == null)
            {
                return(NotFound());
            }
            try
            {
                await repository.DeleteSurveyResponseByIDAsync(surveyResponseID);

                await repository.SaveAsync();

                return(NoContent());
            }
            catch (Exception e)
            {
                throw e.InnerException;
            }
        }