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)); }
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; } }