Esempio n. 1
0
        // GET: Forms
        public ActionResult Index()
        {
            var id = Request.QueryString["id"];

            if (id != null)
            {
                UpdateList();
                SurveyViewModel s = listSurvey.Find(l => l.Id == new Guid(id));
                if (s != null)
                {
                    IsPreview      = false;
                    ViewBag.Survey = id;
                    AccountController.RememberSurveyId(new Guid(id));
                }
            }
            else
            {
                Guid s = AccountController.GetSurveyId();
                if (s != null)
                {
                    ViewBag.Survey = s;
                }
            }
            return(View());
        }
Esempio n. 2
0
        // GET: Designs/Create
        public ActionResult Create()
        {
            if (AccountController.CheckPermission("Design-Create"))
            {
                System.Web.HttpContext.Current.Session["action"] = "Survey-Create";
                UpdateList();
                AnimatesController a = new AnimatesController();

                ViewBag.Question    = a.GetQuestion(AccountController.GetSurveyId()).OrderBy(x => x.Number);
                ViewBag.QuestionId  = new SelectList(a.GetQuestion(AccountController.GetSurveyId()), "Id", "Content");
                ViewBag.ImageTypeId = listImageType.ToList();
                return(View());
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
Esempio n. 3
0
        //// GET: Questions
        //public ActionResult Index()
        //{
        //    UpdateList();
        //    return View(listQuestion);
        //}
        //[HttpGet]
        //public ActionResult Index(string searchString)
        //{
        //    if (!String.IsNullOrEmpty(searchString))
        //    {
        //        SearchController s = new SearchController();
        //        return s.SearchOnDatabase(searchString);
        //    }
        //    else
        //    {
        //        UpdateList();
        //        return View(listQuestion);
        //    }
        //}
        //// GET: Questions/Details/5
        //public ActionResult Details(Guid? id)
        //{
        //    if (id == null)
        //    {
        //        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        //    }
        //    UpdateList();
        //    QuestionViewModel questionViewModel = listQuestion.Find(x => x.Id == id);//db.QuestionViewModels.Find(id);
        //    if (questionViewModel == null)
        //    {
        //        return HttpNotFound();
        //    }
        //    return View(questionViewModel);
        //}

        //// GET: Questions/Create
        //public ActionResult Create()
        //{
        //    UpdateList();
        //    ViewBag.QuestionTypeId = new SelectList(listQuestionType, "Id", "Type");
        //    ViewBag.SurveyId = new SelectList(listSurvey, "Id", "Title");
        //    return View();
        //}

        //// POST: Questions/Create
        //// To protect from overposting attacks, please enable the specific properties you want to bind to, for
        //// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        //public ActionResult Create([Bind(Include = "Id,Content,Number,QuestionTypeId,TimeLength,SurveyId,IsFreeText,IsDeleted,ModifiedDate,ModifiedUserId,DeletionDate,DeletionUserId,CreatedDate,CreatedUserId")] QuestionViewModel questionViewModel)
        //{
        //    if (ModelState.IsValid)
        //    {
        //        questionViewModel.Id = Guid.NewGuid();
        //        questionViewModel.AddQuestion(questionViewModel);
        //        return RedirectToAction("Index");
        //    }
        //    UpdateList();
        //    ViewBag.QuestionTypeId = new SelectList(listQuestionType, "Id", "Type", questionViewModel.QuestionTypeId);
        //    ViewBag.SurveyId = new SelectList(listSurvey, "Id", "Title", questionViewModel.SurveyId);
        //    return View(questionViewModel);
        //}

        //------------Create Question in User----------------------------

        public ActionResult TemporaryQuestion()
        {
            //UpdateList();
            var id        = AccountController.GetSurveyId();
            var questions = db.Questions.Where(x => x.IsDeleted == false && x.SurveyId == id);
            List <QuestionViewModel> q = new List <QuestionViewModel>();
            QuestionViewModel        question;

            foreach (var item in questions)
            {
                question = new QuestionViewModel(item);
                question.GetQuestionAnswerViewList();
                q.Add(question);
            }
            ViewBag.QuestionTypeId = new SelectList(listQuestionType, "Id", "Type");
            //            q.OrderBy(x => x.Number);
            return(View(q.OrderBy(x => x.Number)));
        }
Esempio n. 4
0
        //------end color

        //---------------------------apply to all

        public JsonResult ApplyAll(string questionId, string color, int size)
        {
            if (AccountController.CheckSurveyId())
            {
                AnimateViewModel a;
                UpdateList();
                var id       = new Guid(questionId);
                var surveyId = AccountController.GetSurveyId();
                var q        = listQuestion.Where(x => x.SurveyId == surveyId);
                var animates = listAnimate.Where(x => x.QuestionId == id);
                if (animates != null)
                {
                    foreach (var item in q)
                    {
                        if (item.Id != id)
                        {
                            item.FontColor = color;
                            item.FontSize  = size;
                            item.UpdateQuestion(item);
                            var animates2 = listAnimate.Where(x => x.QuestionId == item.Id);

                            foreach (var i in animates)
                            {
                                var check = animates2.Where(x => x.imageType == i.imageType).FirstOrDefault();
                                if (check == null)
                                {
                                    a = new AnimateViewModel
                                    {
                                        Id         = Guid.NewGuid(),
                                        QuestionId = item.Id,
                                        ImageId    = i.ImageId,
                                        Height     = i.Height,
                                        Width      = i.Width,
                                        PosX       = i.PosX,
                                        PosY       = i.PosY,
                                        Depth      = i.Depth
                                    };
                                    a.AddAnimate();
                                }
                                else
                                {
                                    check.ImageId = i.ImageId;
                                    check.Height  = i.Height;
                                    check.Width   = i.Width;
                                    check.PosX    = i.PosX;
                                    check.PosY    = i.PosY;
                                    check.Depth   = i.Depth;
                                    check.UpdateAnimate();
                                }
                            }
                            if (animates.Count() < animates2.Count())
                            {
                                foreach (var i in animates)
                                {
                                    var check = animates2.Where(x => x.imageType != i.imageType);
                                    if (check != null)
                                    {
                                        foreach (var j in check)
                                        {
                                            j.DeleteAnimate();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return(Json(questionId, JsonRequestBehavior.AllowGet));
        }
Esempio n. 5
0
        public JsonResult SaveAnswers(string answer, string answers, string questionid, string ipaddress, string browser)
        {
            List <QuestionAnswerViewModel> q = AccountController.GetQuestionAnswer();
            RespondentViewModel            r = AccountController.GetRespondent();

            if (r == null)
            {
                r    = new RespondentViewModel();
                r.Id = Guid.NewGuid();
                if (AccountController.CheckUser())
                {
                    r.UserId       = AccountController.GetUser().Id;
                    r.IsRegistered = true;
                }
                r.IPAdress    = ipaddress;
                r.BrowserName = browser;
                r.SurveyId    = AccountController.GetSurveyId();
            }
            //q.Add(new QuestionViewModel{Id = new Guid(questionid)});

            //int i = r.Count - 1;
            if (r.Responses == null)
            {
                r.Responses = new List <ResponseViewModel>();
            }
            if (q == null)
            {
                q = new List <QuestionAnswerViewModel>();
            }
            if (answer != null)
            {
                QuestionAnswerViewModel qa = new QuestionAnswerViewModel
                {
                    Id         = Guid.NewGuid(),
                    QuestionId = new Guid(questionid),
                    Answer     = answer
                };
                q.Add(qa);
                AccountController.RememberQuestionAnswer(q);

                ResponseViewModel rs = new ResponseViewModel
                {
                    Id             = Guid.NewGuid(),
                    QuestionId     = new Guid(questionid),
                    ResponseAnswer = qa.Id,
                    RespondentId   = r.Id
                };
                r.Responses.Add(rs);
            }
            else if (answers != "")
            {
                string[] a = answers.Split(',');
                //UpdateList();
                //var type = listQuestion.Find(x=>x.Id==new Guid(questionid)).Type;
                //if (type == "Yes/No")
                //{
                //    answers = new List<string>();
                //}
                foreach (var item in a)
                {
                    if (item != "")
                    {
                        ResponseViewModel rs = new ResponseViewModel
                        {
                            Id             = Guid.NewGuid(),
                            QuestionId     = new Guid(questionid),
                            ResponseAnswer = new Guid(item),
                            RespondentId   = r.Id
                        };
                        r.Responses.Add(rs);
                    }
                }
            }
            AccountController.RememberRespondent(r);
            return(Json(true, JsonRequestBehavior.AllowGet));
        }
Esempio n. 6
0
        // GET: Questions/Create
        //public ActionResult CreateQuestion()
        //{
        //    UpdateList();
        //    ViewBag.QuestionTypeId = new SelectList(listQuestionType, "Id", "Type");
        //    ViewBag.SurveyId = new SelectList(listSurvey, "Id", "Title");
        //    return View();
        //}

        public ActionResult CreateQuestion(Guid QuestionTypeId, string Content, int?Count, string[] dynamicField)
        {
            QuestionViewModel questionViewModel = new QuestionViewModel();

            if (QuestionTypeId != null && Content != null && Content != "")
            {
                questionViewModel.Id             = Guid.NewGuid();
                questionViewModel.QuestionTypeId = QuestionTypeId;
                questionViewModel.Content        = Content;
                questionViewModel.Number         = AccountController.Count();
                questionViewModel.SurveyId       = AccountController.GetSurveyId();
                questionViewModel.Survey         = AccountController.GetSurvey();
                questionViewModel.TimeLength     = TimeSpan.FromSeconds(3);

                if (Count != null)
                {
                    if (Count < 2)
                    {
                        return(RedirectToAction("Create", "Surveys", new { error = "Scale should more than two" }));
                    }
                    questionViewModel.IsScale = true;
                    questionViewModel.Count   = (int)Count;
                    questionViewModel.AddQuestion(questionViewModel);
                }
                else if (dynamicField.Count() > 0 && dynamicField[0] != "")
                {
                    questionViewModel.AddQuestion(questionViewModel);

                    List <QuestionAnswerViewModel> answer = new List <QuestionAnswerViewModel>();
                    QuestionAnswerViewModel        q      = new QuestionAnswerViewModel();
                    int i = 1;
                    foreach (var item in dynamicField)
                    {
                        if (item != "" && item != null)
                        {
                            q             = new QuestionAnswerViewModel();
                            q.Id          = Guid.NewGuid();
                            q.QuestionId  = questionViewModel.Id;
                            q.Answer      = item;
                            q.OrderNumber = i;
                            answer.Add(q);
                            i++;
                        }
                        else
                        {
                            return(RedirectToAction("Create", "Surveys", new { error = "Answer can't be empty" }));
                        }
                    }
                    foreach (var item in answer)
                    {
                        item.AddQuestionAnswer(item);
                    }
                }
                else
                {
                    questionViewModel.IsFreeText = true;
                    questionViewModel.AddQuestion(questionViewModel);
                }
                TemporaryQuestion();
                UpdateList();
                ViewBag.QuestionTypeId = new SelectList(listQuestionType, "Id", "Type", questionViewModel.QuestionTypeId);
                ViewBag.SurveyId       = new SelectList(listSurvey, "Id", "Title", questionViewModel.SurveyId);
                return(RedirectToAction("Create", "Surveys"));
            }
            UpdateList();
            ViewBag.QuestionTypeId = new SelectList(listQuestionType, "Id", "Type", questionViewModel.QuestionTypeId);
            ViewBag.SurveyId       = new SelectList(listSurvey, "Id", "Title", questionViewModel.SurveyId);
            return(RedirectToAction("Create", "Surveys", new { error = "Question can't be empty" }));
        }