Exemple #1
0
        public async Task <ActionResult <SurveyResultsDto> > GetSurveyResult(int id)
        {
            var survey = await _context.Surveys.Include(x => x.Questions)
                         .ThenInclude(x => x.Answers).ThenInclude(x => x.SurveyResponse).ThenInclude(x => x.Respondent)
                         .FirstAsync(x => x.Id == id);

            var result = new SurveyResultsDto
            {
                SurveyName      = survey.Name,
                Anonymous       = survey.Anonymous,
                SurveyId        = survey.Id.Value,
                QuestionResults = survey.Questions.Select(q => new QuestionResultsDto
                {
                    QuestionId        = q.Id.Value,
                    QuestionIndex     = q.Index,
                    QuestionType      = q.QuestionType,
                    QuestionText      = q.QuestionText,
                    QuestionAnswers   = q.Answers.Select(a => SelectQuestionAnswer(survey, q, a)).ToList(),
                    AnswerPercentages = CalculateAnswerPercentages(q).OrderByDescending(z => z.Value).ToList(),
                    Statistics        = CalculateStatistics(q)
                }).ToList()
            };

            return(result);
        }
        [System.Web.Http.HttpPost] // Since we are creating a resource we use HttpPost
        public IHttpActionResult CreateSurveyResults(SurveyResultsDto surveyResultsDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var surveyResults = Mapper.Map <SurveyResultsDto, SurveyResults>(surveyResultsDto);

            _context.SurveyResultsSet.Add(surveyResults);
            _context.SaveChanges();

            surveyResultsDto.Id = surveyResults.Id;

            return(Created(new Uri(Request.RequestUri + "/" + surveyResults.Id), surveyResultsDto));
        }
        public IHttpActionResult UpdateSurveyResults(int id, SurveyResultsDto surveyResultsDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var surveyResultsInDb = _context.SurveyResultsSet.SingleOrDefault(c => c.Id == id);

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

            Mapper.Map(surveyResultsDto, surveyResultsInDb);

            _context.SaveChanges();

            return(Ok());
        }
Exemple #4
0
 public static SurveyResultChartsViewModel Map(this SurveyResultsDto pieDataResult, IStringLocalizer <SurveyResultsController> localizer)
 {
     return(new SurveyResultChartsViewModel
     {
         JuniorData = new LangaugeSeniorityLevelChartViewModel
         {
             Title = localizer[ResourceKeys.JuniorChartTitle],
             PieSeries = pieDataResult.JuniorPieData,
             Type = SeniorityLevel.Junior.ToString()
         },
         MidData = new LangaugeSeniorityLevelChartViewModel
         {
             Title = localizer[ResourceKeys.MidChartTitle],
             PieSeries = pieDataResult.MidPieData,
             Type = SeniorityLevel.Mid.ToString()
         },
         SeniorData = new LangaugeSeniorityLevelChartViewModel
         {
             Title = localizer[ResourceKeys.SeniorChartTitle],
             PieSeries = pieDataResult.SeniorPieData,
             Type = SeniorityLevel.Senior.ToString()
         }
     });
 }