示例#1
0
        /// <summary>
        /// Action that handles both get and post requests to survey page
        /// </summary>
        /// <param name="form">collection of form properties</param>
        /// <param name="versions">list of values of selected checkboxes (version of android os)</param>
        /// <param name="emotions">selected emotion about the rom</param>
        /// <returns>view of survey page</returns>
        public ActionResult Survey(FormCollection form, List <string> versions, string emotions)
        {
            if (HttpContext.Request.HttpMethod == "GET")
            {
                ViewBag.Message = "Your contact page.";
                return(View(new List <IList <string> >
                {
                    new List <string> {
                        "2.3", "4.0", "4.2", "5.0", "6.0", "8.1", "10"
                    },
                    new List <string> {
                        "love", "don`t like", "hate"
                    }
                }));
            }

            if (HttpContext.Request.HttpMethod == "POST")
            {
                var surv = new ViewSurvey(form["Name"], DateTime.Now, form["SurName"], versions, emotions);
                surveyService.AddSurvey(surv);
                return(View("Result", surv));
            }

            return(View());
        }
示例#2
0
        /// <summary>
        /// method to add a survey
        /// </summary>
        /// <param name="viewSurvey">survey</param>
        public void AddSurvey(ViewSurvey viewSurvey)
        {
            var survey = new Survey(viewSurvey.name, viewSurvey.date, viewSurvey.surname, viewSurvey.andVers,
                                    viewSurvey.emotions);

            surveyContext.AddSurvey(survey);
        }
示例#3
0
        public async Task <IActionResult> PostSurveyUser([FromBody] ViewSurvey viewSurvey)
        {
            var survey = await _context.Surveys.Include("Questions.ClosedAnswers")
                         .Where(s => s.Id == viewSurvey.Id).FirstOrDefaultAsync <Survey>();



            SurveyUser surveyUser = new SurveyUser
            {
                Survey = survey,
                UserId = 2
            };
            int count = 0;

            foreach (ViewQuestion i in viewSurvey.ViewQuestions)
            {
                string   phrase = viewSurvey.ViewQuestions[count].name;
                string[] words  = phrase.Split('-');

                Console.WriteLine("Test1" + i);

                switch (i.QuestionType)
                {
                case 0:          //open question
                    surveyUser.Survey.Questions[int.Parse(words[0])].OpenAnswer.Response = i.value;
                    break;

                case 1:          //yes or no question
                    bool response = false;
                    if (i.value == "ja")
                    {
                        response = true;
                    }

                    surveyUser.Survey.Questions[int.Parse(words[0])].ClosedAnswers[0].Response = response;
                    response = false;
                    break;

                case 2:          //yes or no question with open answers

                    break;

                case 3:          //multiple choice question
                    surveyUser.Survey.Questions[int.Parse(words[0])].ClosedAnswers[int.Parse(words[2])].Response = true;
                    break;
                }
                count++;
            }


            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (FilledSurvey(surveyUser))
            {
                _context.SurveyUsers.Add(surveyUser);

                try
                {
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateException)
                {
                    if (SurveyUserExists(surveyUser.SurveyId))
                    {
                        return(new StatusCodeResult(StatusCodes.Status409Conflict));
                    }
                    else
                    {
                        throw;
                    }
                }
            }
            else
            {
                return(new StatusCodeResult(StatusCodes.Status400BadRequest));
            }


            return(CreatedAtAction("GetSurveyUser", new { id = surveyUser.SurveyId }, surveyUser));
        }