protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         M_Design_Question questMod = new M_Design_Question();
         if (Mid > 0)
         {
             questMod = questBll.SelReturnModel(Mid);
             AskID    = questMod.AskID;
         }
         else
         {
             AskID = DataConvert.CLng(Request.QueryString["AskID"]);
         }
         //-------------------------------------------------------
         if (AskID < 1)
         {
             function.WriteErrMsg("未指定问卷ID");
         }
         M_Design_Ask askMod = askBll.SelReturnModel(AskID);
         AskTitle_T.Text    = askMod.Title;
         Ask_Hid.Value      = JsonConvert.SerializeObject(askMod);
         Question_Hid.Value = JsonConvert.SerializeObject(questMod);
     }
 }
示例#2
0
 public int Insert(M_Design_Question model)
 {
     if (model.OrderID == 0)
     {
         model.OrderID = DataConvert.CLng(DBCenter.ExecuteScala(TbName, "MAX(OrderID)", "AskID=" + model.AskID)) + 1;
     }
     return(DBCenter.Insert(model));
 }
        protected void Save_Btn_Click(object sender, EventArgs e)
        {
            M_Design_Question questMod = JsonConvert.DeserializeObject <M_Design_Question>(Question_Hid.Value);

            if (questMod.ID < 1)
            {
                questBll.Insert(questMod);
            }
            else
            {
                questBll.UpdateByID(questMod);
            }
            function.WriteSuccessMsg("操作成功", "QuestionList.aspx?AskID=" + questMod.AskID);
        }
示例#4
0
        public void ProcessRequest(HttpContext context)
        {
            M_UserInfo mu = buser.GetLogin();

            retMod.retcode = M_APIResult.Failed;
            try
            {
                switch (Action)
                {
                case "list":
                {
                    int       askid = Convert.ToInt32(Req("askid"));
                    DataTable dt    = questBll.Sel(askid, "qlist");
                    retMod.retcode = M_APIResult.Success;
                    retMod.result  = JsonConvert.SerializeObject(dt);
                }
                break;

                case "get":
                {
                    int id = Convert.ToInt32(Req("id"));
                    M_Design_Question questMod = questBll.U_SelModel(mu.UserID, id);
                    retMod.retcode = M_APIResult.Success;
                    retMod.result  = JsonConvert.SerializeObject(questMod);
                }
                break;

                case "add":
                {
                    M_Design_Question model = JsonConvert.DeserializeObject <M_Design_Question>(Req("model"));
                    if (model.ID > 0)
                    {
                        //哪些选项不允许修改
                        M_Design_Question questMod = questBll.U_SelModel(mu.UserID, model.ID);
                        model.CUser = questMod.CUser;
                        model.CDate = questMod.CDate;
                        model.AskID = questMod.AskID;
                        questBll.UpdateByID(model);
                    }
                    else
                    {
                        model.CUser = mu.UserID;
                        model.ID    = questBll.Insert(model);
                    }
                    retMod.retcode = M_APIResult.Success;
                    retMod.result  = model.ID.ToString();
                }
                break;

                case "del":
                {
                    int id = Convert.ToInt32(Req("id"));
                    questBll.U_Del(mu.UserID, id);
                    retMod.retcode = M_APIResult.Success;
                    retMod.result  = "success";
                }
                break;

                case "move":
                {
                    int from   = Convert.ToInt32(Req("from"));
                    int target = Convert.ToInt32(Req("target"));
                    retMod.result  = questBll.Move(from, target).ToString();
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                default:
                    retMod.retmsg = "[" + Action + "]接口不存在";
                    break;
                }
            }
            catch (Exception ex) { retMod.retmsg = ex.Message; }
            RepToClient(retMod);
        }
示例#5
0
 public bool UpdateByID(M_Design_Question model)
 {
     return(DBCenter.UpdateByID(model, model.ID));
 }
        protected void RPT_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
            {
                //text:count
                DataRowView       drv      = e.Item.DataItem as DataRowView;
                int               qid      = Convert.ToInt32(drv["ID"]);
                M_Design_Question questMod = questBll.SelReturnModel(qid);
                switch (drv["QType"].ToString())
                {
                case "radio":
                {
                    Repeater  rpt      = e.Item.FindControl("Radio_RPT") as Repeater;
                    DataTable optionDT = JsonConvert.DeserializeObject <DataTable>(questMod.QOption);       //四舍五入导至不匹配
                    optionDT.Columns.Add(new DataColumn("count", typeof(int)));
                    optionDT.Columns.Add(new DataColumn("percent", typeof(double)));
                    DataTable ansDT = GetAnsDT(qid);
                    int       total = ansDT.Rows.Count < 1 ? 0 : Convert.ToInt32(ansDT.Compute("SUM(count)", ""));
                    for (int i = 0; i < optionDT.Rows.Count; i++)
                    {
                        DataRow opdr = optionDT.Rows[i];
                        foreach (DataRow ansdr in ansDT.Rows)
                        {
                            string answer = ansdr["answer"].ToString();
                            int    count  = Convert.ToInt32(ansdr["count"]);
                            if (opdr["value"].ToString().Equals(answer))
                            {
                                opdr["count"] = DataConvert.CLng(opdr) + count;
                            }
                        }
                    }
                    for (int i = 0; i < optionDT.Rows.Count; i++)
                    {
                        double count = DataConvert.CDouble(optionDT.Rows[i]["count"]);
                        optionDT.Rows[i]["count"]   = count;      //未选择的为0
                        optionDT.Rows[i]["percent"] = count / total;
                    }
                    rpt.DataSource = optionDT;
                    rpt.DataBind();
                    SaveChartHid(e, optionDT);
                }
                break;

                case "checkbox":
                {
                    Repeater  rpt      = e.Item.FindControl("Checkbox_RPT") as Repeater;
                    DataTable optionDT = JsonConvert.DeserializeObject <DataTable>(questMod.QOption);
                    optionDT.Columns.Add(new DataColumn("count", typeof(int)));
                    optionDT.Columns.Add(new DataColumn("percent", typeof(double)));
                    //多选项一个回答,会有多个结果,所以需要再处理一次
                    DataTable ansDT = GetAnsDT(qid);
                    int       total = ansDT.Rows.Count < 1 ? 0 : Convert.ToInt32(ansDT.Compute("SUM(count)", ""));
                    for (int i = 0; i < optionDT.Rows.Count; i++)
                    {
                        DataRow opdr = optionDT.Rows[i];
                        foreach (DataRow ansdr in ansDT.Rows)
                        {
                            string[] ansArr = ansdr["answer"].ToString().Split(',');
                            int      count  = Convert.ToInt32(ansdr["count"]);
                            foreach (string ans in ansArr)
                            {
                                if (opdr["value"].ToString().Equals(ans))
                                {
                                    opdr["count"] = DataConvert.CLng(opdr) + count;
                                }
                            }
                        }
                    }
                    for (int i = 0; i < optionDT.Rows.Count; i++)
                    {
                        double count = DataConvert.CDouble(optionDT.Rows[i]["count"]);
                        optionDT.Rows[i]["count"]   = count;
                        optionDT.Rows[i]["percent"] = count / total;
                    }
                    rpt.DataSource = optionDT;
                    rpt.DataBind();
                    SaveChartHid(e, optionDT);
                }
                break;

                case "blank":    //前台直接判断出链接即可
                    break;

                case "score":
                {
                    JObject jobj  = JsonConvert.DeserializeObject <JObject>(questMod.QFlag);
                    string  score = "0";
                    TextBox text  = e.Item.FindControl("Score_T") as TextBox;
                    text.Attributes.Add("data-stars", DataConvert.CLng(jobj["maxscore"]).ToString());
                    DataTable dt = DBCenter.SelWithField(TbName, "AVG(CAST(Answer as int))", "Answer IN('1','2','3','4','5','6','7','8','9','10') AND Qid=" + qid);
                    if (dt.Rows.Count > 0)
                    {
                        score = DataConvert.CDouble(dt.Rows[0][0]).ToString("f1");
                    }
                    text.Text = score;
                }
                break;

                case "sort":    //未实现
                {
                }
                break;

                default:
                    break;
                }
            }
        }