예제 #1
0
        public ActionResult Index()
        {
            using (var db = new CustomerSurveyDbContext())
            {
                var data = db.Questions.ToList();


                // Mapper.CreateMap()Initialize(config => );
                Mapper.CreateMap <Question, QuestionModel>().ForMember(dest => dest.Comment, opt => opt.Ignore());
                Mapper.CreateMap <Answer, AnswerModel>().ForMember(dest => dest.Selected, opt => opt.Ignore());
                var model = Mapper.Map <List <Question>, List <QuestionModel> >(data);

                return(View(model));
            }
        }
예제 #2
0
        public ActionResult Statistics()
        {
            using (var db = new CustomerSurveyDbContext())
            {
                var model = new StatisticsModel();
                model.Respondents            = db.Respons.Select(r => r.ResponseId).Distinct().Count();
                model.QuestionPopularAnswers = new Dictionary <string, string>();
                var questions   = db.Questions.Count();
                var questionIds = db.Questions.Select(q => q.QuestionId);
                foreach (var id in questionIds)
                {
                    model.QuestionPopularAnswers.Add(db.Questions.First(q => q.QuestionId == id).QuestionTitle,
                                                     db.Respons.Where(r => r.QuestionId == id).Count() + " answers.");
                }

                return(View(model));
            }
        }
예제 #3
0
 public ActionResult SubmitSurvey(List <QuestionModel> model = null)
 {
     using (var db = new CustomerSurveyDbContext())
     {
         var    data       = db.Respons.ToList();
         var    responseId = data.OrderByDescending(r => r.ResponseId).FirstOrDefault()?.ResponseId + 1;
         string response   = "";
         //  var user = HttpContext.GetOwinContext().Get<ApplicationSignInManager>();
         foreach (var m in model)
         {
             if (m.QuestionType == (int)QuestionTypes.Selection ||
                 m.QuestionType == (int)QuestionTypes.SingleChoice)
             {
                 response = m.SelectedValue.ToString();
             }
             if (m.QuestionType == (int)QuestionTypes.MultipleChoice)
             {
                 var answers = m.Answers.Where(a => a.Selected).Select(a => a.AnswerId.ToString());
                 response = string.Join(",", answers);
             }
             if (m.QuestionType == (int)QuestionTypes.Commentary)
             {
                 response = m.Comment;
             }
             db.Respons.Add(new Respons()
             {
                 QuestionId = m.QuestionId + 1,
                 Response   = response,
                 ResponseId = responseId ?? 1,
                 UserName   = ""
             });
         }
         try
         {
             db.SaveChanges();
         }
         catch (Exception e)
         {
             Console.Write(e.StackTrace);
             throw;
         }
     }
     return(RedirectToAction("Index"));
 }