コード例 #1
0
        public ContentResult getNaireJson(NaireJsonObject naireJson)
        {
            user_id = Request.Cookies["user_id"].Value;


            if (naire_id == null)
            {
                createProject(naireJson);
            }
            else
            {
                naire_id = Request.Cookies["naire_id"].Value;
                editProject(naireJson);
            }

            return(Content(naire_id));
        }
コード例 #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();
            }
        }
コード例 #3
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());
        }
コード例 #4
0
 /// <summary>
 /// 编辑项目
 /// </summary>
 private void editProject(NaireJsonObject naireJson)
 {
     string edit_time = DateTime.Now.ToShortDateString().ToString();
 }