Exemplo n.º 1
0
        /// <summary>
        /// 状态变更
        /// </summary>
        /// <param name="context"></param>
        public void Change_Eva_QuestionAnswer_State(HttpContext context)
        {
            int         intSuccess = (int)errNum.Success;
            int         intFailed  = (int)errNum.Failed;
            HttpRequest Request    = context.Request;
            int         Id         = RequestHelper.int_transfer(Request, "Id");
            int         State      = RequestHelper.int_transfer(Request, "State");

            try
            {
                Eva_QuestionAnswer answer = Constant.Eva_QuestionAnswer_List.FirstOrDefault(i => i.Id == Id);
                if (answer != null)
                {
                    Eva_QuestionAnswer answerClone = Constant.Clone(answer);
                    answerClone.State = State;
                    jsonModel         = Constant.Eva_QuestionAnswerService.Update(answerClone);
                    if (jsonModel.errNum == intSuccess)
                    {
                        answer.State = State;
                        List <Eva_QuestionAnswer_Detail> details = (from d in Constant.Eva_QuestionAnswer_Detail_List where d.QuestionID == Id select d).ToList();
                        foreach (var item in details)
                        {
                            Eva_QuestionAnswer_Detail detailClone = Constant.Clone(item);
                            detailClone.State = State;
                            var jsm = Constant.Eva_QuestionAnswer_DetailService.Update(detailClone);
                            if (jsm.errNum == 0)
                            {
                                item.State = State;
                            }
                        }
                    }
                }
                else
                {
                    jsonModel = JsonModel.get_jsonmodel(intFailed, "failed", "操作失败");
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }
            finally
            {
                //无论后端出现什么问题,都要给前端有个通知【为防止jsonModel 为空 ,全局字段 jsonModel 特意声明之后进行初始化】
                context.Response.Write("{\"result\":" + Constant.jss.Serialize(jsonModel) + "}");
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取答题列表
        /// </summary>
        /// <param name="context"></param>
        public void Get_Eva_QuestionAnswerDetail(HttpContext context)
        {
            HttpRequest Request    = context.Request;
            int         intSuccess = (int)errNum.Success;
            int         intFailed  = (int)errNum.Failed;
            //学年学期的ID
            int Id = RequestHelper.int_transfer(Request, "Id");

            try
            {
                Eva_QuestionAnswer question = Constant.Eva_QuestionAnswer_List.FirstOrDefault(i => i.Id == Id);
                if (question != null)
                {
                    List <Eva_QuestionAnswer_Detail> list       = (from detail in Constant.Eva_QuestionAnswer_Detail_List where detail.QuestionID == question.Id select detail).ToList();
                    List <Eva_QuestionAnswer_Header> headerList = (from header in Constant.Eva_QuestionAnswer_Header_List where header.QuestionID == question.Id select header).ToList();
                    var data = new
                    {
                        HeaderList = (from h in headerList orderby h.Id select new { h.CustomCode, h.Name, h.ValueID, h.Value, h.Id }),
                        DetailList = (from li in list select new { li.Answer, li.TableDetailID, li.QuestionType, li.Score }),
                        TableName  = question.TableName,
                        Score      = question.Score,
                    };
                    jsonModel = JsonModel.get_jsonmodel(intSuccess, "success", data);
                }
                else
                {
                    jsonModel = JsonModel.get_jsonmodel(intFailed, "failed", "该答题不存在");
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }
            finally
            {
                //无论后端出现什么问题,都要给前端有个通知【为防止jsonModel 为空 ,全局字段 jsonModel 特意声明之后进行初始化】
                context.Response.Write("{\"result\":" + Constant.jss.Serialize(jsonModel) + "}");
            }
        }
        /// <summary>
        /// 新增学生答题
        /// </summary>
        /// <param name="context">当前上下文</param>
        public void Add_Eva_QuestionAnswer(HttpContext context)
        {
            lock (obj_Add_Eva_QuestionAnswer)
            {
                HttpRequest Request = context.Request;
                //分配表的ID
                int Eva_Distribution_Id = RequestHelper.int_transfer(Request, "Eva_Distribution_Id");
                //学生【用户唯一标识符】
                string StudentUID = RequestHelper.string_transfer(Request, "StudentUID");
                //课程的ID
                string CourseId = RequestHelper.string_transfer(Request, "CourseId");
                //教师的ID
                string TeacherUID = RequestHelper.string_transfer(Request, "TeacherUID");
                //学年学期的ID
                int SectionId = RequestHelper.int_transfer(Request, "SectionId");
                //得分
                decimal Score = RequestHelper.decimal_transfer(Request, "Score");
                //创建者
                string CreateUID  = RequestHelper.string_transfer(Request, "CreateUID");
                int    intSuccess = (int)errNum.Success;
                //课程分类
                string CourseTypeId = Constant.CourseRel_List.FirstOrDefault(i => i.Course_Id == CourseId).CourseType_Id;
                int    Type         = RequestHelper.int_transfer(Request, "Type");
                try
                {
                    //学生回答任务信息表
                    Eva_QuestionAnswer Eva_QuestionAnswer = new Eva_QuestionAnswer()
                    {
                        Eva_Distribution_Id = Eva_Distribution_Id,
                        StudentUID          = StudentUID,
                        CourseTypeId        = CourseTypeId,
                        CourseId            = CourseId,
                        TeacherUID          = TeacherUID,
                        SectionId           = SectionId,
                        Score      = Score,
                        CreateUID  = CreateUID,
                        CreateTime = DateTime.Now,
                        EditTime   = DateTime.Now,
                        EditUID    = CreateUID,
                        IsDelete   = (int)IsDelete.No_Delete,
                        IsEnable   = (int)IsEnable.Enable
                    };

                    //表单明细
                    string List = RequestHelper.string_transfer(Request, "List");
                    //序列化表单详情列表
                    List <Eva_QuestionAnswer_Detail> Eva_QuestionAnswer_Detail_List = JsonConvert.DeserializeObject <List <Eva_QuestionAnswer_Detail> >(List);

                    jsonModel = Constant.Eva_QuestionAnswerService.Add(Eva_QuestionAnswer);

                    Eva_QuestionAnswer.Id = Convert.ToInt32(jsonModel.retData);
                    if (jsonModel.errNum == intSuccess && !Constant.Eva_QuestionAnswer_List.Contains(Eva_QuestionAnswer))
                    {
                        Constant.Eva_QuestionAnswer_List.Add(Eva_QuestionAnswer);

                        //答题任务详情填充
                        foreach (Eva_QuestionAnswer_Detail item in Eva_QuestionAnswer_Detail_List)
                        {
                            item.Eva_TaskAnswer_Id = Eva_QuestionAnswer.Id;
                            item.CreateTime        = DateTime.Now;
                            item.CreateUID         = StudentUID;
                            item.EditUID           = StudentUID;
                            item.EditTime          = DateTime.Now;
                            item.IsDelete          = (int)IsDelete.No_Delete;
                            item.IsEnable          = (int)IsEnable.Enable;
                            //数据库插入
                            JsonModel jsm = Constant.Eva_QuestionAnswer_DetailService.Add(item);
                            //插入成功入缓存
                            if (jsm.errNum == intSuccess)
                            {
                                item.Id = Convert.ToInt32(jsm.retData);
                                if (!Constant.Eva_QuestionAnswer_Detail_List.Contains(item))
                                {
                                    Constant.Eva_QuestionAnswer_Detail_List.Add(item);
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogHelper.Error(ex);
                }
                finally
                {
                    //无论后端出现什么问题,都要给前端有个通知【为防止jsonModel 为空 ,全局字段 jsonModel 特意声明之后进行初始化】
                    context.Response.Write("{\"result\":" + Constant.jss.Serialize(jsonModel) + "}");
                }
            }
        }
Exemplo n.º 4
0
        public void Edit_Eva_QuestionAnswer(HttpContext context)
        {
            int         intSuccess = (int)errNum.Success;
            HttpRequest Request    = context.Request;
            int         Id         = RequestHelper.int_transfer(Request, "Id");
            int         State      = RequestHelper.int_transfer(Request, "State");
            //得分
            decimal Score = RequestHelper.decimal_transfer(Request, "Score");
            //答题详情明细
            string List = RequestHelper.string_transfer(Request, "List");
            //表头明显
            string HeaderList = RequestHelper.string_transfer(Request, "HeaderList");

            try
            {
                Eva_QuestionAnswer Eva_QuestionAnswer       = Constant.Eva_QuestionAnswer_List.FirstOrDefault(q => q.Id == Id);
                List <Eva_QuestionAnswer_Header> headerList = (from h in Constant.Eva_QuestionAnswer_Header_List where h.QuestionID == Id select h).ToList();
                List <Eva_QuestionAnswer_Detail> detailList = (from q in Constant.Eva_QuestionAnswer_Detail_List where q.QuestionID == Id select q).ToList();
                Eva_QuestionAnswer Eva_QuestionAnswerClone  = Constant.Clone(Eva_QuestionAnswer);
                Eva_QuestionAnswerClone.EditTime = DateTime.Now;
                Eva_QuestionAnswerClone.State    = State;
                Eva_QuestionAnswerClone.Score    = Score;
                jsonModel = Constant.Eva_QuestionAnswerService.Update(Eva_QuestionAnswerClone);

                if (jsonModel.errNum == intSuccess)
                {
                    Eva_QuestionAnswer.EditTime = DateTime.Now;
                    Eva_QuestionAnswer.State    = State;
                    Eva_QuestionAnswer.Score    = Score;

                    #region 表头添加

                    //序列化表单详情列表
                    List <Eva_QuestionAnswer_Header> Eva_QuestionAnswer_Header_List = JsonConvert.DeserializeObject <List <Eva_QuestionAnswer_Header> >(HeaderList);

                    //答题任务详情填充
                    foreach (Eva_QuestionAnswer_Header item in Eva_QuestionAnswer_Header_List)
                    {
                        Eva_QuestionAnswer_Header detail = headerList.FirstOrDefault(i => i.Id == item.Id);
                        if (detail != null)
                        {
                            Eva_QuestionAnswer_Header detailClone = Constant.Clone(detail);
                            detailClone.Value    = item.Value;
                            detailClone.ValueID  = item.ValueID;
                            detailClone.EditTime = DateTime.Now;
                            var jsm = Constant.Eva_QuestionAnswer_HeaderService.Update(detailClone);
                            if (jsm.errNum == 0)
                            {
                                detail.Value    = item.Value;
                                detail.ValueID  = item.ValueID;
                                detail.EditTime = DateTime.Now;
                            }
                        }
                    }

                    #endregion

                    #region 答题详情


                    //序列化表单详情列表
                    List <Eva_QuestionAnswer_Detail> Eva_QuestionAnswer_Detail_List = JsonConvert.DeserializeObject <List <Eva_QuestionAnswer_Detail> >(List);

                    //答题任务详情填充
                    foreach (Eva_QuestionAnswer_Detail item in Eva_QuestionAnswer_Detail_List)
                    {
                        Eva_QuestionAnswer_Detail detail = detailList.FirstOrDefault(i => i.TableDetailID == item.TableDetailID);
                        if (detail != null)
                        {
                            Eva_QuestionAnswer_Detail detailClone = Constant.Clone(detail);
                            detailClone.Answer   = item.Answer;
                            detailClone.Score    = item.Score;
                            detailClone.State    = State;
                            detailClone.EditTime = DateTime.Now;
                            var jsm = Constant.Eva_QuestionAnswer_DetailService.Update(detailClone);
                            if (jsm.errNum == 0)
                            {
                                detail.Answer   = item.Answer;
                                detail.Score    = item.Score;
                                detail.State    = State;
                                detail.EditTime = DateTime.Now;
                            }
                        }
                        else
                        {
                            item.SectionID   = Eva_QuestionAnswer.SectionID;
                            item.DisPlayName = Eva_QuestionAnswer.DisPlayName;
                            item.ReguID      = Eva_QuestionAnswer.ReguID;
                            item.ReguName    = Eva_QuestionAnswer.ReguName;

                            item.TableID     = Eva_QuestionAnswer.TableID;
                            item.TableName   = Eva_QuestionAnswer.TableName;
                            item.TeacherUID  = Eva_QuestionAnswer.TeacherUID;
                            item.TeacherName = Eva_QuestionAnswer.TeacherName;

                            item.CourseTypeID   = Eva_QuestionAnswer.CourseTypeID;
                            item.CourseTypeName = Eva_QuestionAnswer.CourseTypeName;
                            item.CourseID       = Eva_QuestionAnswer.CourseID;
                            item.CourseName     = Eva_QuestionAnswer.CourseName;

                            item.AnswerUID  = Eva_QuestionAnswer.AnswerUID;
                            item.AnswerName = Eva_QuestionAnswer.AnswerName;

                            item.QuestionID = Eva_QuestionAnswer.Id;

                            item.State     = Eva_QuestionAnswer.State;
                            item.RoomID    = Eva_QuestionAnswer.RoomID;
                            item.Eva_Role  = Eva_QuestionAnswer.Eva_Role;
                            item.CreateUID = Eva_QuestionAnswer.CreateUID;
                            item.EditUID   = Eva_QuestionAnswer.EditUID;
                            item.EditTime  = DateTime.Now;

                            var jsm = Constant.Eva_QuestionAnswer_DetailService.Add(item);
                            if (jsm.errNum == 0)
                            {
                                Constant.Eva_QuestionAnswer_Detail_List.Add(item);
                                item.Id = Convert.ToInt32(jsm.retData);
                            }
                        }
                    }

                    #endregion
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }
            finally
            {
                //无论后端出现什么问题,都要给前端有个通知【为防止jsonModel 为空 ,全局字段 jsonModel 特意声明之后进行初始化】
                context.Response.Write("{\"result\":" + Constant.jss.Serialize(jsonModel) + "}");
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 新增学生答题
        /// </summary>
        /// <param name="context">当前上下文</param>
        public void Add_Eva_QuestionAnswer(HttpContext context)
        {
            lock (obj_Add_Eva_QuestionAnswer)
            {
                var         sing2      = Constant.Eva_QuestionAnswer_Detail_List;
                int         intSuccess = (int)errNum.Success;
                HttpRequest Request    = context.Request;

                int RelationID = RequestHelper.int_transfer(Request, "RelationID");
                //学年学期的ID
                int    SectionID   = RequestHelper.int_transfer(Request, "SectionID");
                string DisPlayName = RequestHelper.string_transfer(Request, "DisPlayName");

                int    ReguID   = RequestHelper.int_transfer(Request, "ReguID");
                string ReguName = RequestHelper.string_transfer(Request, "ReguName");

                //课程的ID
                string CourseID   = RequestHelper.string_transfer(Request, "CourseID");
                string CourseName = RequestHelper.string_transfer(Request, "CourseName");

                //教师的ID
                string TeacherUID  = RequestHelper.string_transfer(Request, "TeacherUID");
                string TeacherName = RequestHelper.string_transfer(Request, "TeacherName");

                //学生【用户唯一标识符】
                string AnswerUID  = RequestHelper.string_transfer(Request, "AnswerUID");
                string AnswerName = RequestHelper.string_transfer(Request, "AnswerName");

                int    TableID   = RequestHelper.int_transfer(Request, "TableID");
                string TableName = RequestHelper.string_transfer(Request, "TableName");

                int State = RequestHelper.int_transfer(Request, "State");
                //得分
                decimal Score = RequestHelper.decimal_transfer(Request, "Score");
                //创建者
                string CreateUID = RequestHelper.string_transfer(Request, "CreateUID");

                int    Eva_Role   = RequestHelper.int_transfer(Request, "Eva_Role");
                string RoomID     = RequestHelper.string_transfer(Request, "RoomID");
                int    IsRealName = RequestHelper.int_transfer(Request, "IsRealName");
                //答题详情明细
                string List = RequestHelper.string_transfer(Request, "List");

                //表头明显
                string HeaderList = RequestHelper.string_transfer(Request, "HeaderList");

                //课程分类
                var data = (from r in Constant.CourseRel_List
                            join c in Constant.Sys_Dictionary_List on r.CourseType_Id equals c.Key
                            where c.Type == "0"
                            select new { r, c }).ToList();

                try
                {
                    var first = data.Count > 0 ? data[0] : null;

                    #region 答题
                    //学生回答任务信息表
                    Eva_QuestionAnswer Eva_QuestionAnswer = new Eva_QuestionAnswer()
                    {
                        RelationID     = RelationID,
                        SectionID      = SectionID,
                        DisPlayName    = DisPlayName,
                        ReguID         = ReguID,
                        ReguName       = ReguName,
                        CourseTypeID   = first != null ? first.c.Key : "",
                        CourseTypeName = first != null ? first.c.Value : "",
                        CourseID       = CourseID,
                        CourseName     = CourseName,
                        AnswerUID      = AnswerUID,
                        AnswerName     = AnswerName,
                        TeacherUID     = TeacherUID,
                        TeacherName    = TeacherName,
                        TableID        = TableID,
                        TableName      = TableName,
                        Score          = Score,
                        State          = State,
                        RoomID         = RoomID,
                        Eva_Role       = Eva_Role,
                        IsRealName     = (byte)IsRealName,
                        CreateUID      = CreateUID,
                        CreateTime     = DateTime.Now,
                        EditTime       = DateTime.Now,
                        EditUID        = CreateUID,
                        IsDelete       = (int)IsDelete.No_Delete,
                        IsEnable       = (int)IsEnable.Enable
                    };
                    jsonModel = Constant.Eva_QuestionAnswerService.Add(Eva_QuestionAnswer);
                    if (jsonModel.errNum == intSuccess)
                    {
                        Eva_QuestionAnswer.Id = Convert.ToInt32(jsonModel.retData);
                    }

                    #endregion

                    if (jsonModel.errNum == intSuccess)
                    {
                        Constant.Eva_QuestionAnswer_List.Add(Eva_QuestionAnswer);

                        #region 表头添加

                        //序列化表单详情列表
                        List <Eva_QuestionAnswer_Header> Eva_QuestionAnswer_Header_List = JsonConvert.DeserializeObject <List <Eva_QuestionAnswer_Header> >(HeaderList);

                        //答题任务详情填充
                        foreach (Eva_QuestionAnswer_Header item in Eva_QuestionAnswer_Header_List)
                        {
                            item.QuestionID = Eva_QuestionAnswer.Id;
                            item.CreateTime = DateTime.Now;
                            item.CreateUID  = AnswerUID;
                            item.EditUID    = AnswerUID;
                            item.EditTime   = DateTime.Now;
                            item.IsDelete   = (int)IsDelete.No_Delete;
                            item.IsEnable   = (int)IsEnable.Enable;
                            //数据库插入
                            JsonModel jsm = Constant.Eva_QuestionAnswer_HeaderService.Add(item);
                            //插入成功入缓存
                            if (jsm.errNum == intSuccess)
                            {
                                item.Id = Convert.ToInt32(jsm.retData);
                                Constant.Eva_QuestionAnswer_Header_List.Add(item);
                            }
                        }

                        #endregion

                        #region 答题详情


                        //序列化表单详情列表
                        List <Eva_QuestionAnswer_Detail> Eva_QuestionAnswer_Detail_List = JsonConvert.DeserializeObject <List <Eva_QuestionAnswer_Detail> >(List);
                        decimal allScore = 0;
                        var     quest    = (from p in Eva_QuestionAnswer_Detail_List
                                            join st in Constant.Eva_TableDetail_List on p.TableDetailID equals st.Id
                                            select new { p, st }).ToList();
                        //答题任务详情填充
                        foreach (var chid in quest)
                        {
                            var item     = chid.p;
                            var table_dt = chid.st;
                            item.SectionID      = SectionID;
                            item.DisPlayName    = DisPlayName;
                            item.ReguID         = ReguID;
                            item.ReguName       = ReguName;
                            item.TeacherUID     = TeacherUID;
                            item.TeacherName    = TeacherName;
                            item.CourseTypeID   = Eva_QuestionAnswer.CourseTypeID;
                            item.CourseTypeName = Eva_QuestionAnswer.CourseTypeName;
                            item.CourseID       = CourseID;
                            item.CourseName     = CourseName;
                            item.AnswerUID      = AnswerUID;
                            item.AnswerName     = AnswerName;
                            item.QuestionID     = Eva_QuestionAnswer.Id;
                            item.TableID        = TableID;
                            item.TableName      = TableName;
                            item.Eva_Role       = Eva_Role;
                            item.RoomID         = RoomID;
                            item.State          = State;
                            item.IsRealName     = (byte)IsRealName;
                            item.CreateTime     = DateTime.Now;
                            item.CreateUID      = AnswerUID;
                            item.EditUID        = AnswerUID;
                            item.EditTime       = DateTime.Now;
                            item.IsDelete       = (int)IsDelete.No_Delete;
                            item.IsEnable       = (int)IsEnable.Enable;
                            switch (item.Answer)
                            {
                            case "OptionA":
                                item.Score = table_dt.OptionA_S;
                                break;

                            case "OptionB":
                                item.Score = table_dt.OptionB_S;
                                break;

                            case "OptionC":
                                item.Score = table_dt.OptionC_S;
                                break;

                            case "OptionD":
                                item.Score = table_dt.OptionD_S;
                                break;

                            case "OptionE":
                                item.Score = table_dt.OptionE_S;
                                break;

                            case "OptionF":
                                item.Score = table_dt.OptionF_S;
                                break;

                            default:
                                break;
                            }
                            if (item.Score != null)
                            {
                                allScore += (decimal)item.Score;
                            }
                            //数据库插入
                            JsonModel jsm = Constant.Eva_QuestionAnswer_DetailService.Add(item);
                            //插入成功入缓存
                            if (jsm.errNum == intSuccess)
                            {
                                item.Id = Convert.ToInt32(jsm.retData);
                                if (!sing2.Contains(item))
                                {
                                    Constant.Eva_QuestionAnswer_Detail_List.Add(item);
                                }
                            }
                        }
                        Eva_QuestionAnswer.Score = allScore;
                        Constant.Eva_QuestionAnswerService.Update(Eva_QuestionAnswer);
                        #endregion
                    }
                }
                catch (Exception ex)
                {
                    LogHelper.Error(ex);
                }
                finally
                {
                    //无论后端出现什么问题,都要给前端有个通知【为防止jsonModel 为空 ,全局字段 jsonModel 特意声明之后进行初始化】
                    context.Response.Write("{\"result\":" + Constant.jss.Serialize(jsonModel) + "}");
                }
            }
        }