Exemple #1
0
        //问卷调查提交
        private void surveyAnswerSubmit(out string msg)
        {
            msg = string.Empty;
            judgeIsCorrect(out msg);
            if (msg != "success")
            {
                return;
            }

            #region 提交准备数据

            SurveyAnswerRoot             modelRoot          = null;
            List <Entities.SurveyAnswer> list_ESurveyAnswer = new List <Entities.SurveyAnswer>();
            ArrayList array_UserActionLog = new ArrayList();//日志

            modelRoot = (SurveyAnswerRoot)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(RequestJsonSurveyAnswer, typeof(SurveyAnswerRoot));
            if (modelRoot == null)
            {
                msg = "提交的问卷数据不存在";
                return;
            }

            for (int i = 0; i < modelRoot.DataRoot.Length; i++)
            {
                Entities.SurveyAnswer model = new Entities.SurveyAnswer();

                SurveyAnswer answer = modelRoot.DataRoot[i];
                int          _spiid;
                if (int.TryParse(RequestSPIID, out _spiid))
                {
                    model.SPIID = _spiid;
                }
                if (!string.IsNullOrEmpty(RequestPTID))
                {
                    model.PTID = RequestPTID;
                }
                int _siid;
                if (int.TryParse(RequestSIID, out _siid))
                {
                    model.SIID = _siid;
                }
                int _sqid;
                if (int.TryParse(answer.SQID, out _sqid))
                {
                    model.SQID = _sqid;
                }
                int _smrtid;
                if (int.TryParse(answer.SMRTID, out _smrtid))
                {
                    model.SMRTID = _smrtid;
                }
                int _smctid;
                if (int.TryParse(answer.SMCTID, out _smctid))
                {
                    model.SMCTID = _smctid;
                }
                int _soid;
                if (int.TryParse(answer.SOID, out _soid))
                {
                    model.SOID = _soid;
                }
                model.AnswerContent = answer.AnswerContent;
                model.CreateUserID  = userID;
                model.CreateTime    = DateTime.Now;

                list_ESurveyAnswer.Add(model);

                string logStr = string.Empty;
                logStr = "调查问卷回答信息表【插入】问卷调查项目ID【" + model.SPIID + "】调查问卷ID【" + model.SIID + "】调查问卷试题ID【" + model.SQID + "】提交人【" + model.CreateUserID + "】调查问卷矩阵行ID【" + model.SMRTID + "】矩阵列ID【" + model.SMCTID + "】调查问卷选项ID【" + model.SOID + "】回答内容【" + model.AnswerContent + "】创建时间【" + model.CreateTime + "】";

                array_UserActionLog.Add(logStr);
            }

            #endregion

            #region 事务提交

            string        connectionstrings = ConfigurationUtil.GetAppSettingValue("ConnectionStrings_CC");
            SqlConnection connection        = new SqlConnection(connectionstrings);
            connection.Open();
            SqlTransaction tran = connection.BeginTransaction("SampleTransaction");
            try
            {
                //删除之前的答案
                if (!string.IsNullOrEmpty(RequestPTID))
                {
                    int _siid1;
                    if (int.TryParse(RequestSIID, out _siid1))
                    {
                        BLL.SurveyAnswer.Instance.Delete(tran, _siid1, RequestPTID);
                    }
                }



                for (int i = 0; i < list_ESurveyAnswer.Count; i++)
                {
                    BLL.SurveyAnswer.Instance.Insert(tran, list_ESurveyAnswer[i]);
                }
                for (int i = 0; i < array_UserActionLog.Count; i++)
                {
                    BLL.Util.InsertUserLog(tran, array_UserActionLog[i].ToString());
                }

                //是否答过题,默认答没答过
                bool flag = false;
                if (list_ESurveyAnswer.Count == 0)
                {
                    flag = false;
                }
                else
                {
                    for (int i = 0; i < list_ESurveyAnswer.Count; i++)
                    {
                        if (list_ESurveyAnswer[i].SOID != -2 || list_ESurveyAnswer[i].AnswerContent != "" || list_ESurveyAnswer[i].SMCTID != -2 || list_ESurveyAnswer[i].SMRTID != -2)
                        {
                            flag = true;
                        }
                    }
                }
                //答过题记录
                if (flag == true)
                {
                    //判断该项目,该任务,该问卷,是否已有答问卷记录,没有插入
                    DataTable dt = null;
                    Entities.QueryProjectTask_SurveyAnswer querey = new Entities.QueryProjectTask_SurveyAnswer();
                    querey.PTID = RequestPTID;

                    int _projectID;
                    if (int.TryParse(RequestProjectID, out _projectID))
                    {
                    }
                    querey.ProjectID = _projectID;
                    int _siid;
                    if (int.TryParse(RequestSIID, out _siid))
                    {
                    }
                    querey.SIID = _siid;
                    //int rowcount = 0;
                    //dt = BLL.ProjectTask_SurveyAnswer.Instance.GetProjectTask_SurveyAnswer(tran, querey, "", 1, 1000000, out rowcount);
                    Entities.ProjectTask_SurveyAnswer getModel = BLL.ProjectTask_SurveyAnswer.Instance.GetProjectTask_SurveyAnswerByQuery(tran, querey);
                    if (getModel == null)
                    {
                        Entities.ProjectTask_SurveyAnswer model = new Entities.ProjectTask_SurveyAnswer();
                        model.ProjectID    = _projectID;
                        model.PTID         = RequestPTID;
                        model.SIID         = _siid;
                        model.CreateTime   = System.DateTime.Now;
                        model.CreateUserID = BLL.Util.GetLoginUserID();
                        model.Status       = RequestIsSub;
                        BLL.ProjectTask_SurveyAnswer.Instance.Insert(tran, model);
                    }
                    else
                    {
                        getModel.CreateTime = DateTime.Now;
                        getModel.Status     = RequestIsSub;
                        BLL.ProjectTask_SurveyAnswer.Instance.UpdateCreateTimeAndStatus(tran, getModel);
                    }
                }
                msg = "success";

                tran.Commit();
            }
            catch (Exception ex)
            {
                BitAuto.ISDC.CC2012.BLL.Loger.Log4Net.Error("[TakingAnSurveyHandler.ashx]surveyAnswerSubmit...任务ID:" + RequestPTID + ",事务提交阶段出错:", ex);
                if (tran.Connection != null)
                {
                    tran.Rollback();
                }
                msg = ex.Message.ToString();
            }
            finally
            {
                connection.Close();
            }

            #endregion
        }
        //str += "<a href='SurveyInfo.aspx?SIID='" + dt.Rows[i]["SIID"].ToString() + "'+'&ProJectID='" + dt.Rows[i]["ProjectID"].ToString() + "'+'&TaskID='" + dt.Rows[i]["PTID"].ToString() + "' target='_blank'>" + dt.Rows[i]["Name"].ToString() + "</a>&nbsp;&nbsp;";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //int _projectid;
                //if (int.TryParse(RequestProjectID, out _projectid))
                //{
                //后续需要判断任务状态,不是所有状态都可以答问卷,任务在处理中,未处理加载可编辑问卷,其他状态加载只能查看
                if (string.IsNullOrEmpty(RequestCustID))
                {
                    Response.Write(@"<script language='javascript'>javascript:alert('回访客户不存在');try {
                 window.external.MethodScript('/browsercontrol/closepage');
            } catch (e) {
                window.opener = null; window.open('', '_self'); window.close();
            };</script>");
                }
                //else if (string.IsNullOrEmpty(RequestSIID))
                //{
                //    Response.Write("<script language='javascript'>alert('核实问卷不存在!');closePage();</script>");
                //}
                else
                {
                    if (!string.IsNullOrEmpty(RequestSIID))
                    {
                        //Entities.ProjectTaskInfo Taskinfo = BLL.ProjectTaskInfo.Instance.GetProjectTaskInfo(RequestCustID);

                        Entities.QueryProjectTask_SurveyAnswer querey = new Entities.QueryProjectTask_SurveyAnswer();
                        querey.CustID = RequestCustID;

                        int _siid;
                        if (int.TryParse(RequestSIID, out _siid))
                        {
                        }
                        querey.SIID = _siid;
                        int       rowcount = 0;
                        DataTable dt       = BLL.ProjectTask_SurveyAnswer.Instance.GetProjectTask_SurveyAnswer(querey, "", 1, 1000000, out rowcount);


                        if (Request["Action"] != null && Request["Action"] == "view")
                        {
                            UCSurveyInfoEdit1.Visible       = false;
                            UCSurveyInfoView1.Visible       = true;
                            UCSurveyInfoView1.RequestSIID   = RequestSIID;
                            UCSurveyInfoView1.RequestCustID = RequestCustID;
                            btnsave.Visible = false;
                            btnsub.Visible  = false;
                        }
                        else if (dt != null && dt.Rows.Count > 0)
                        {
                            if (dt.Rows[0]["status"] != DBNull.Value && dt.Rows[0]["status"].ToString() == "1")
                            {
                                UCSurveyInfoEdit1.Visible       = false;
                                UCSurveyInfoView1.Visible       = true;
                                UCSurveyInfoView1.RequestSIID   = RequestSIID;
                                UCSurveyInfoView1.RequestCustID = RequestCustID;
                                btnsave.Visible = false;
                                btnsub.Visible  = false;
                            }
                            else
                            {
                                UCSurveyInfoEdit1.Visible       = true;
                                UCSurveyInfoView1.Visible       = false;
                                UCSurveyInfoEdit1.RequestSIID   = RequestSIID;
                                UCSurveyInfoEdit1.RequestCustID = RequestCustID;
                                btnsave.Visible = true;
                                btnsub.Visible  = true;
                            }
                        }
                        else
                        {
                            UCSurveyInfoEdit1.Visible       = true;
                            UCSurveyInfoView1.Visible       = false;
                            UCSurveyInfoEdit1.RequestSIID   = RequestSIID;
                            UCSurveyInfoEdit1.RequestCustID = RequestCustID;
                            btnsave.Visible = true;
                            btnsub.Visible  = true;
                        }
                    }
                }
                //}
                //else
                //{
                //    Response.Write("<script language='javascript'>alert('核实项目id数据格式不正确!');closePage();</script>");
                //}
            }
        }