Esempio n. 1
0
        public void getQuestionData(QuestionDataList questionDataList)
        {
            NaireWebDataContext     db = new NaireWebDataContext();
            List <QuestionDataItem> question_data_items = questionDataList.list;

            for (int i = 0; i < question_data_items.Count; i++)
            {
                data_info data = new data_info();
                data.question_id = question_data_items[i].id;
                if (question_data_items[i].items.Count > 1)
                {
                    data.data = JsonConvert.SerializeObject(question_data_items[i].items);
                }
                else if (question_data_items[i].items.Count == 1)
                {
                    data.data = question_data_items[i].items[0];
                }

                //  提交存入数据库
                db.data_info.InsertOnSubmit(data);
                db.SubmitChanges();
            }
            //  获得问题id->获得问卷id->问卷收到数据数+1
            int           question_id     = question_data_items[0].id;
            question_info question_result = (from r in db.question_info
                                             where r.id == question_id
                                             select r).FirstOrDefault();

            naire_info naire = (from r in db.naire_info
                                where r.id == question_result.naire_id
                                select r).FirstOrDefault();

            naire.data += 1;
            db.SubmitChanges();
        }
Esempio n. 2
0
        /// <summary>
        /// 创建项目
        /// </summary>
        private void createProject(NaireJsonObject naireJson)
        {
            user_id = Request.Cookies["user_id"].Value;

            //  开始时间与最后修改时间
            string start_time = Request.Cookies["start_time"].Value;
            string edit_time  = DateTime.Now.ToShortDateString().ToString();

            NaireWebDataContext db    = new NaireWebDataContext();
            naire_info          naire = new naire_info();

            naire.user_id     = int.Parse(user_id);
            naire.title       = naireJson.title;
            naire.hint        = naireJson.hint;
            naire.state       = "未发布";
            naire.start_time  = start_time;
            naire.update_time = edit_time;
            naire.questions   = JsonConvert.SerializeObject(naireJson);
            naire.recycle     = 0;

            //  提交问卷
            db.naire_info.InsertOnSubmit(naire);
            db.SubmitChanges();

            //  获得naire_id的最大值
            var naire_num = db.naire_info.Max(p => p.id);

            naire_id = naire_num.ToString();

            //  提交每一个问题
            for (int i = 0; i < naireJson.list.Count; i++)
            {
                question_info question = new question_info();
                question.naire_id = naire_num;
                question.title    = naireJson.list[i].title;
                question.flag     = naireJson.list[i].flag;
                question.items    = JsonConvert.SerializeObject(naireJson.list[i].items);

                db.question_info.InsertOnSubmit(question);
                db.SubmitChanges();
            }
        }
Esempio n. 3
0
        [HttpPost] //表的编辑
        public void editNaireInfo(naire_info naire)
        {
            NaireWebDataContext db = new NaireWebDataContext();

            var res = from p in db.naire_info
                      where p.id == naire.id
                      select p;

            if (res.FirstOrDefault() != null)
            {
                foreach (naire_info ca in res)
                {
                    ca.title       = naire.title;
                    ca.state       = naire.state;
                    ca.update_time = naire.update_time;
                    ca.start_time  = naire.start_time;
                    ca.data        = naire.data;
                    ca.recycle     = naire.recycle;
                }
                db.SubmitChanges();
            }
        }
Esempio n. 4
0
        // GET: Project
        public ActionResult Index()
        {
            //  获得问卷Id
            string naire_id = Request.QueryString["naire_id"];

            //  判断问卷是否在预览状态
            string isPreview = Request.QueryString["isPreview"];

            if (isPreview == "1")
            {
                ViewBag.isPreview = "1";
            }

            //  根据问卷Id获得相应问题的Id
            NaireWebDataContext db = new NaireWebDataContext();

            //  判断是否发布了,如果没发布就不能打开
            naire_info stateResult = (from r in db.naire_info
                                      where r.id == int.Parse(naire_id)
                                      select r).FirstOrDefault();

            if (stateResult.state == "未发布")
            {
                //  重定向去首页
                if (isPreview != "1")
                {
                    return(Redirect("~/Home/Index"));
                }
            }

            //  获得问卷的问题
            var question_header = from r in db.question_info
                                  where r.naire_id == int.Parse(naire_id)
                                  select new
            {
                r.id,
                r.naire_id,
                r.title,
                r.flag
            };

            var questions = (from r in db.naire_info
                             where r.id == int.Parse(naire_id)
                             select new
            {
                r.questions
            }).FirstOrDefault().questions.ToString();


            NaireJsonObject naire = JsonConvert.DeserializeObject <NaireJsonObject>(questions);

            string question_header_json             = JsonConvert.SerializeObject(question_header);
            List <QuestionListItemHeader> naireList = JArray.Parse(question_header_json)
                                                      .ToObject <List <QuestionListItemHeader> >();

            List <QuestionListItem> questionListItem_list = new List <QuestionListItem>();

            for (int i = 0; i < naireList.Count; i++)
            {
                QuestionListItem item = new QuestionListItem();
                item.id       = naireList[i].id;
                item.naire_id = naireList[i].naire_id;
                item.title    = naireList[i].title;
                item.flag     = naireList[i].flag;
                item.list     = naire.list[i].items;

                questionListItem_list.Add(item);
            }

            //  根据相应问题的Id获得选项
            NaireHaveIdJsonObject naireHaveId = new NaireHaveIdJsonObject();

            naireHaveId.title = naire.title;
            naireHaveId.hint  = naire.hint;
            naireHaveId.list  = questionListItem_list;

            //  拼接成JSON给前台生成问卷(挂个data-quesion-id)的属性
            ViewBag.NaireHaveId = JsonConvert.SerializeObject(naireHaveId);

            return(View());
        }