コード例 #1
0
        public void deleteNaire(List <int> naireIds)
        {
            for (int i = 0; i < naireIds.Count; i++)
            {
                NaireWebDataContext db = new NaireWebDataContext();
                var result             = from r in db.naire_info
                                         where r.id == naireIds[i]
                                         select r;
                db.naire_info.DeleteAllOnSubmit(result);

                List <question_info> question_results = (from r in db.question_info
                                                         where r.naire_id == naireIds[i]
                                                         select r).ToList();
                db.question_info.DeleteAllOnSubmit(question_results);

                for (int j = 0; j < question_results.Count; j++)
                {
                    var data_results = from r in db.data_info
                                       where r.question_id == question_results[j].id
                                       select r;
                    db.data_info.DeleteAllOnSubmit(data_results);
                }

                db.SubmitChanges();
            }
        }
コード例 #2
0
ファイル: RegisterController.cs プロジェクト: oddii/QuesNaire
        public JsonResult register_info(string account, string password, string name)
        {
            NaireWebDataContext db = new NaireWebDataContext();
            var rs = from r in db.user_info
                     where account == r.account
                     select new
            {
                r.id,
                r.account
            };

            if (rs.FirstOrDefault() != null)
            {
                return(Json(0));
            }
            user_info user = new user_info();

            user.account  = account;
            user.password = password;
            user.name     = name;
            db.user_info.InsertOnSubmit(user);
            db.SubmitChanges();

            var rs2 = from r in db.user_info
                      where account == r.account
                      select new
            {
                r.id,
            };
            var ID = rs2.FirstOrDefault().id.ToString();

            return(Json(ID));
        }
コード例 #3
0
        /// <summary>
        /// 获取管理员信息
        /// </summary>
        public void getManageInfo()
        {
            NaireWebDataContext db = new NaireWebDataContext();
            var rs = from r in db.admin_info
                     where id == r.id.ToString()
                     select new
            {
                r.account,
                r.password,
                r.name
            };
            var account  = rs.FirstOrDefault().account;
            var name     = rs.FirstOrDefault().name;
            var password = rs.FirstOrDefault().password;

            admin.Manage_account  = account;
            admin.Manage_name     = name;
            admin.Manage_password = password;

            HttpCookie cookie = new HttpCookie("manage_account");

            cookie.Value = admin.Manage_account;
            Response.Cookies.Add(cookie);
            HttpCookie cookie2 = new HttpCookie("manage_name");

            cookie2.Value = admin.Manage_name;
            Response.Cookies.Add(cookie2);
            HttpCookie cookie3 = new HttpCookie("manage_password");

            cookie3.Value = admin.Manage_password;
            Response.Cookies.Add(cookie3);
        }
コード例 #4
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();
        }
コード例 #5
0
        // GET: Manager
        public ActionResult Index()
        {
            id = Request.QueryString["id"];

            if (id != null)
            {
                HttpCookie cookie = new HttpCookie("manage_id");
                cookie.Value = id;
                Response.Cookies.Add(cookie);
            }
            else
            {
                Response.Redirect("~/Manager/ManagerLogin");
                return(View());
            }


            NaireWebDataContext db = new NaireWebDataContext();
            //  首页显示基本信息
            double user_num = (from r in db.user_info
                               select r.id).Count();
            double naire_num = (from r in db.naire_info
                                select r.id).Count();
            double data_num = (from r in db.data_info
                               select r.id).Count();

            ViewBag.UserNum  = user_num;
            ViewBag.NaireNum = naire_num;
            ViewBag.DataNum  = data_num;


            getManageInfo();

            return(View());
        }
コード例 #6
0
ファイル: LoginController.cs プロジェクト: oddii/QuesNaire
        public JsonResult login_info(string account, string password)
        {
            NaireWebDataContext db = new NaireWebDataContext();
            var rs = from r in db.user_info
                     where account == r.account
                     where password == r.password
                     select new
            {
                r.id,
                r.account
            };

            if (rs.FirstOrDefault() == null)
            {
                return(Json(0));
            }

            var rs2 = from r in db.user_info
                      where account == r.account
                      select new
            {
                r.id,
            };
            var ID = rs2.FirstOrDefault().id.ToString();

            return(Json(ID));
        }
コード例 #7
0
        public void instertNaireInfo(user_info naire_add)
        {
            user_info ca = new user_info();

            ca.name     = naire_add.name;
            ca.password = naire_add.password;
            ca.avatar   = ca.avatar;
            NaireWebDataContext db = new NaireWebDataContext();

            db.user_info.InsertOnSubmit(ca);
            db.SubmitChanges();
        }
コード例 #8
0
        public string upImg(string avatar, string id)
        {
            NaireWebDataContext db = new NaireWebDataContext();
            var user = db.user_info.Where(r => r.id.ToString() == id).FirstOrDefault();

            user.avatar = "http://test.xkspbz.com/avatar/img" + GetImage(avatar, id);
            db.SubmitChanges();
            HttpCookie cookie3 = new HttpCookie("user_avatar");

            cookie3.Value = "http://test.xkspbz.com/avatar/img" + GetImage(avatar, id);
            Response.Cookies.Add(cookie3);

            return("1");
        }
コード例 #9
0
        public JsonResult getAllUserJson()
        {
            NaireWebDataContext db = new NaireWebDataContext();
            var user_result        = from r in db.user_info
                                     select new
            {
                r.id,
                r.name,
                r.password,
                r.avatar
            };

            return(Json(user_result));
        }
コード例 #10
0
        public void DelateNaireInfo_User(int naire_id_user)
        {
            NaireWebDataContext db = new NaireWebDataContext();

            try
            {
                var result = from r in db.user_info
                             where r.id == naire_id_user
                             select r;
                db.user_info.DeleteAllOnSubmit(result);
                db.SubmitChanges();
            }
            catch
            {
            }
        }
コード例 #11
0
        public void naireToRecycleBin(int naire_id)
        {
            NaireWebDataContext db = new NaireWebDataContext();
            var result             = from r in db.naire_info
                                     where r.id == naire_id
                                     select r;

            if (result != null)
            {
                foreach (naire_info r in result)
                {
                    r.recycle      = 1;
                    r.recycle_time = DateTime.Now.ToString("yyyy/MM/dd");
                }
                db.SubmitChanges();
            }
        }
コード例 #12
0
        public JsonResult getAllNaireJson()
        {
            NaireWebDataContext db = new NaireWebDataContext();
            var naire_result       = from r in db.naire_info
                                     select new
            {
                r.id,
                r.title,
                r.state,
                r.start_time,
                r.update_time,
                r.recycle,
                r.recycle_time,
                r.data
            };

            return(Json(naire_result));
        }
コード例 #13
0
        // GET: PublishProject
        public ActionResult Index()
        {
            string naire_id = Request.QueryString["naire_id"];

            NaireWebDataContext db = new NaireWebDataContext();

            var result = from r in db.naire_info
                         where r.id == int.Parse(naire_id)
                         select new
            {
                r.id,
                r.title,
                r.state
            };

            ViewBag.NaireInfo = JsonConvert.SerializeObject(result);

            return(View());
        }
コード例 #14
0
        public void editNaireInfo_user(user_info naire)
        {
            NaireWebDataContext db = new NaireWebDataContext();

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

            if (res.FirstOrDefault() != null)
            {
                foreach (user_info ca in res)
                {
                    ca.name     = naire.name;
                    ca.password = naire.password;
                    ca.avatar   = naire.avatar;
                }
                db.SubmitChanges();
            }
        }
コード例 #15
0
        public JsonResult getNewNaireJson()
        {
            string today           = DateTime.Now.ToString("yyyy/MM/dd");//获取当前日期
            NaireWebDataContext db = new NaireWebDataContext();
            var naire_result       = from r in db.naire_info where r.start_time == today
                                     select new
            {
                r.id,
                r.title,
                r.state,
                r.start_time,
                r.update_time,
                r.recycle,
                r.recycle_time,
                r.data
            };

            return(Json(naire_result));
        }
コード例 #16
0
 public void restoreNaire(List <int> naireIds)
 {
     for (int i = 0; i < naireIds.Count; i++)
     {
         NaireWebDataContext db = new NaireWebDataContext();
         var result             = from r in db.naire_info
                                  where r.id == naireIds[i]
                                  select r;
         if (result != null)
         {
             foreach (naire_info r in result)
             {
                 r.recycle      = 0;
                 r.recycle_time = null;
             }
             db.SubmitChanges();
         }
     }
 }
コード例 #17
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();
            }
        }
コード例 #18
0
        /// <summary>
        /// 获得用户问卷
        /// </summary>
        public void getUserNaire()
        {
            string user_id = Request.Cookies["user_id"].Value;

            NaireWebDataContext db = new NaireWebDataContext();
            var result             = from r in db.naire_info
                                     where r.user_id.ToString() == user_id
                                     select new
            {
                r.id,
                r.title,
                r.state,
                r.start_time,
                r.update_time,
                r.data,
                r.recycle,
                r.recycle_time
            };

            ViewBag.NaireInfo = JsonConvert.SerializeObject(result);
        }
コード例 #19
0
ファイル: RegisterController.cs プロジェクト: oddii/QuesNaire
        public JsonResult JudgmentExists(string type, string input)
        {
            NaireWebDataContext db = new NaireWebDataContext();

            if (type == "name")
            {
                var rs = from r in db.user_info
                         where input == r.name
                         select new
                {
                    r.name
                };
                if (rs.FirstOrDefault() != null)
                {
                    return(Json(1));
                }
            }
            if (type == "phone" || type == "email")
            {
                var rs = from r in db.user_info
                         where input == r.account
                         select new
                {
                    r.account
                };
                if (rs.FirstOrDefault() != null)
                {
                    if (type == "phone")
                    {
                        return(Json(2));
                    }
                    if (type == "email")
                    {
                        return(Json(3));
                    }
                }
            }

            return(Json(0));
        }
コード例 #20
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();
            }
        }
コード例 #21
0
        public void getUserInfo()
        {
            NaireWebDataContext db = new NaireWebDataContext();
            var rs = from r in db.user_info
                     where id == r.id.ToString()
                     select new
            {
                r.account,
                r.name,
                r.password,
                r.avatar
            };
            var name     = rs.FirstOrDefault().name;
            var account  = rs.FirstOrDefault().account;
            var avatar   = rs.FirstOrDefault().avatar;
            var password = rs.FirstOrDefault().password;

            user.Name     = name;
            user.Id       = int.Parse(id);
            user.Account  = account;
            user.Avatar   = avatar;
            user.Password = password;
            HttpCookie cookie = new HttpCookie("user_account");

            cookie.Value = user.Account;
            Response.Cookies.Add(cookie);
            HttpCookie cookie2 = new HttpCookie("user_name");

            cookie2.Value = user.Name;
            Response.Cookies.Add(cookie2);
            HttpCookie cookie3 = new HttpCookie("user_avatar");

            cookie3.Value = user.Avatar;
            Response.Cookies.Add(cookie3);
            HttpCookie cookie4 = new HttpCookie("user_password");

            cookie4.Value = user.Password;
            Response.Cookies.Add(cookie4);
        }
コード例 #22
0
        public void changeState(string id, string state)
        {
            NaireWebDataContext db = new NaireWebDataContext();
            var result             = from r in db.naire_info
                                     where r.id == int.Parse(id)
                                     select r;

            if (result != null)
            {
                foreach (naire_info r in result)
                {
                    if (state == "0")
                    {
                        r.state = "收集中";
                    }
                    else
                    {
                        r.state = "未发布";
                    }
                }
            }
            db.SubmitChanges();
        }
コード例 #23
0
        public JsonResult Change_Admin_Info(string account, string name, string password)
        {
            NaireWebDataContext db = new NaireWebDataContext();
            var rs = from r in db.admin_info
                     where r.account == account
                     select r;

            if (rs != null)
            {
                foreach (admin_info r in rs)
                {
                    r.name     = name;
                    r.password = password;
                }
            }
            else
            {
                return(Json(0));
            }

            db.SubmitChanges();
            return(Json(1));
        }
コード例 #24
0
        public string upInfo(string id, string name, string password)
        {
            NaireWebDataContext db = new NaireWebDataContext();
            var rs = from r in db.user_info
                     where r.id.ToString() == id
                     select r;

            if (rs.FirstOrDefault() != null)
            {
                rs.FirstOrDefault().name     = name;
                rs.FirstOrDefault().password = password;
            }
            db.SubmitChanges();
            HttpCookie cookie2 = new HttpCookie("user_name");

            cookie2.Value = name;
            Response.Cookies.Add(cookie2);
            HttpCookie cookie4 = new HttpCookie("user_password");

            cookie4.Value = password;
            Response.Cookies.Add(cookie4);

            return("1");
        }
コード例 #25
0
        // GET: StatisticProject
        public ActionResult Index()
        {
            string naire_id = Request.QueryString["naire_id"];

            ViewBag.naireId = int.Parse(naire_id);
            NaireWebDataContext db        = new NaireWebDataContext();
            Statistic           statistic = new Statistic();

            //  先找问卷表拿 问卷标题,描述
            var naires = from r in db.naire_info
                         where r.id == int.Parse(naire_id)
                         select new
            {
                r.title,
                r.hint,
                r.update_time,
                r.data
            };

            statistic.title       = naires.FirstOrDefault().title;
            statistic.update_time = naires.FirstOrDefault().update_time;
            statistic.data        = naires.FirstOrDefault().data;

            ViewBag.naireTitle = statistic.title;
            ViewBag.naireData  = statistic.data;
            ViewBag.updateTime = statistic.update_time;

            //  然后找问题表拿 问题id,flag,题目,选项
            var questions = from r in db.question_info
                            where r.naire_id == int.Parse(naire_id)
                            select r;

            foreach (question_info question in questions)
            {
                questions q = new questions();
                q.title = question.title;
                q.flag  = question.flag;
                var n = JsonConvert.DeserializeObject <List <string> >(question.items);
                if (n != null)
                {
                    for (var i = 0; i < n.Count; i++)
                    {
                        q.options.Add(n[i]);
                    }
                }
                else
                {
                    q.options = null;
                }

                var reply = from r in db.data_info
                            where r.question_id == question.id
                            select r;
                if (q.flag == 2 || q.flag == 3)
                {
                    var   count = JsonConvert.DeserializeObject <List <string> >(reply.FirstOrDefault().data).Count;
                    int[] a     = new int[count];
                    foreach (var r in reply)
                    {
                        var index = JsonConvert.DeserializeObject <List <string> >(r.data);
                        for (var i = 0; i < index.Count; i++)
                        {
                            a[i] += int.Parse(index[i]);
                        }
                    }
                    foreach (var i in a)
                    {
                        q.replys.Add(i.ToString());
                    }
                }
                else if (q.flag == 1)
                {
                    foreach (var r in reply)
                    {
                        q.replys.Add(r.data);
                    }
                }
                else if (q.flag == 4)
                {
                    foreach (var r in reply)
                    {
                        q.replys.Add(r.data);
                    }
                }


                statistic.questions.Add(q);
            }


            string statistic_info = JsonConvert.SerializeObject(statistic);

            ViewBag.statisticJson = statistic_info;

            return(View());
        }
コード例 #26
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());
        }