/// <summary>
        /// 通过习题Vguid获取习题详细信息
        /// </summary>
        /// <param name="exerciseDetailVguid"></param>
        /// <returns></returns>
        public Business_ExercisesDetail_Infomation GetExerciseDetailModel(string exerciseDetailVguid)
        {
            using (SqlSugarClient _dbMsSql = SugarDao_MsSql.GetInstance())
            {
                Guid vguid = Guid.Parse(exerciseDetailVguid);
                Business_ExercisesDetail_Infomation exerciseModel = _dbMsSql.Queryable <Business_ExercisesDetail_Infomation>().Where(i => i.Vguid == vguid).SingleOrDefault();

                return(exerciseModel);
            }
        }
 /// <summary>
 /// 通过习题Vguid获取习题详细信息
 /// </summary>
 /// <param name="exerciseDetailVguid"></param>
 /// <returns></returns>
 public Business_ExercisesDetail_Infomation GetExerciseDetailModel(string exerciseDetailVguid)
 {
     using (SqlSugarClient dbMsSql = SugarDao_MsSql.GetInstance())
     {
         Guid vguid = Guid.Parse(exerciseDetailVguid);
         Business_ExercisesDetail_Infomation exerciseModel = dbMsSql.Queryable <Business_ExercisesDetail_Infomation>().Where(i => i.Vguid == vguid).SingleOrDefault();
         //存入操作日志表
         string logData = JsonHelper.ModelToJson(exerciseModel);
         _ll.SaveLog(3, 34, "", exerciseModel.ExerciseName, logData);
         return(exerciseModel);
     }
 }
        /// <summary>
        /// 判断答案是否正确并计算得分
        /// </summary>
        /// <param name="exerciseDetailVguid">题目的Vguid</param>
        /// <param name="answer">答案</param>
        /// <returns></returns>
        public int CheckAnswer(string exerciseDetailVguid, string answer)
        {
            int score = 0;
            Business_ExercisesDetail_Infomation exerciseDetailModel = _ws.GetExerciseDetailModel(exerciseDetailVguid);

            string[] arrLetter = new string[8] {
                "A", "B", "C", "D", "E", "F", "G", "H"
            };
            if (exerciseDetailModel.ExerciseType == 1)//单选题
            {
                //arrLetter[answer]
                if (exerciseDetailModel.Answer == arrLetter[int.Parse(answer)])
                {
                    score = exerciseDetailModel.Score;
                }
            }
            else if (exerciseDetailModel.ExerciseType == 2)//多选题
            {
                if (string.IsNullOrEmpty(answer))
                {
                    return(score);
                }
                var    arrAnswer     = answer.Split(',');
                string explainAnswer = "";
                foreach (var item in arrAnswer)
                {
                    explainAnswer += arrLetter[int.Parse(item)] + ",";
                }
                explainAnswer = explainAnswer.Substring(0, explainAnswer.Length - 1);
                if (exerciseDetailModel.Answer == explainAnswer)
                {
                    score = exerciseDetailModel.Score;
                }
            }
            else if (exerciseDetailModel.ExerciseType == 3)//判断题
            {
                //if (answer == "0")
                //{
                //    answer = "正确";
                //}
                //else if (answer == "1")
                //{
                //    answer = "错误";
                //}
                if (exerciseDetailModel.Answer == answer)
                {
                    score = exerciseDetailModel.Score;
                }
            }
            return(score);
        }
        /// <summary>
        /// 将DataTable内容绑定到习题详细信息列表
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public List <Business_ExercisesDetail_Infomation> DataTableToList(DataTable dt, Business_Exercises_Infomation exercisesInfomation)
        {
            List <Business_ExercisesDetail_Infomation> exerciseDetailList = new List <Business_ExercisesDetail_Infomation>();

            if (dt != null && dt.Rows.Count > 0)
            {
                for (int i = 7; i < dt.Rows.Count; i++) //从第7行开始插入,前6行为习题主信息以及注意事项
                {
                    try
                    {
                        DataRow dr = dt.Rows[i];
                        if ((!string.IsNullOrEmpty(dr["column1"].ToString())) && (!string.IsNullOrEmpty(dr["column2"].ToString())) && (!string.IsNullOrEmpty(dr["column3"].ToString())) && (!string.IsNullOrEmpty(dr["column6"].ToString())))
                        {
                            Business_ExercisesDetail_Infomation exerciseDetail = new Business_ExercisesDetail_Infomation();
                            exerciseDetail.ExerciseType    = int.Parse(dr["column1"].ToString()); //题目类型
                            exerciseDetail.ExericseTitleID = int.Parse(dr["column2"].ToString()); //题号
                            exerciseDetail.ExerciseName    = dr["column3"].ToString();            //题目名称
                            if (dr["column1"].ToString() == "3")                                  //判断题
                            {
                                switch (dr["column5"].ToString())
                                {
                                case "A":
                                    exerciseDetail.Answer = dr["column7"].ToString() == "正确" ? "0" : "1";
                                    break;

                                case "B":
                                    exerciseDetail.Answer = dr["column8"].ToString() == "正确" ? "0" : "1";
                                    break;
                                }
                            }
                            else
                            {
                                exerciseDetail.Answer = dr["column5"].ToString();                 //答案
                            }
                            exerciseDetail.Score = int.Parse(dr["column6"].ToString());           //分数
                            string   exerciseOption = string.Empty;
                            string[] letter         = { "A", "B", "C", "D", "E", "F", "G", "H" }; //选项字典
                            for (int j = 7; j <= dt.Columns.Count; j++)
                            {
                                if (!string.IsNullOrEmpty(dr["column" + j].ToString()))
                                {
                                    exerciseOption += letter[j - 7] + "." + dr["column" + j].ToString() + ",|";
                                }
                            }
                            char[] myChar = { ',', '|' };
                            exerciseDetail.ExerciseOption            = exerciseOption.TrimEnd(myChar); //题目选项
                            exerciseDetail.InputType                 = 2;                              //录入类型
                            exerciseDetail.CreatedDate               = DateTime.Now;
                            exerciseDetail.CreatedUser               = Common.CurrentUser.GetCurrentUser().LoginName;
                            exerciseDetail.ChangeDate                = DateTime.Now;
                            exerciseDetail.ExercisesInformationVguid = exercisesInfomation.Vguid;
                            exerciseDetail.Vguid = Guid.NewGuid();
                            exerciseDetailList.Add(exerciseDetail);
                        }
                    }
                    catch (Exception ex)
                    {
                        Common.LogHelper.LogHelper.WriteLog(ex.Message + "/n" + ex.ToString() + "/n" + ex.StackTrace);
                    }
                }
            }

            return(exerciseDetailList);
        }
        /// <summary>
        /// 保存习题信息(主信息、详细信息)
        /// </summary>
        /// <param name="exerciseMainModel"></param>
        /// <param name="isEdit"></param>
        /// <returns></returns>
        public bool SaveExerciseMain(Business_Exercises_Infomation exerciseMainModel, bool isEdit, string exerciseData)
        {
            bool result             = false;
            var  exerciseModel      = new Business_Exercises_Infomation();                                                //习题主信息
            var  exerciseList       = JsonHelper.JsonToModel <List <Business_ExercisesDetail_Infomation> >(exerciseData); //待保存的习题详细信息
            var  exerciseDetailList = new List <Business_ExercisesDetail_Infomation>();

            if (isEdit)
            {
                exerciseModel = GetExerciseByVguid(exerciseMainModel.Vguid.ToString());
                exerciseModel.ExercisesName = exerciseMainModel.ExercisesName;
                exerciseModel.Description   = exerciseMainModel.Description;
                exerciseModel.Remarks       = exerciseMainModel.Remarks;
                exerciseModel.EffectiveDate = exerciseMainModel.EffectiveDate;
                exerciseModel.Status        = 1;
                exerciseModel.ChangeUser    = Common.CurrentUser.GetCurrentUser().LoginName;
                exerciseModel.ChangeDate    = DateTime.Now;

                //循环遍历习题详情
                foreach (var item in exerciseList)
                {
                    Business_ExercisesDetail_Infomation exerciseDetail = new Business_ExercisesDetail_Infomation();
                    exerciseDetail.ExerciseType              = item.ExerciseType;
                    exerciseDetail.ExericseTitleID           = item.ExericseTitleID;
                    exerciseDetail.ExerciseName              = item.ExerciseName;
                    exerciseDetail.ExerciseOption            = item.ExerciseOption;
                    exerciseDetail.Answer                    = item.Answer;
                    exerciseDetail.Score                     = item.Score;
                    exerciseDetail.InputType                 = 1;
                    exerciseDetail.IsEntry                   = item.IsEntry;            //是否录入习题库
                    exerciseDetail.Vguid                     = Guid.NewGuid();
                    exerciseDetail.ExercisesInformationVguid = exerciseMainModel.Vguid; //习题主信息Vguid
                    exerciseDetail.CreatedUser               = Common.CurrentUser.GetCurrentUser().LoginName;
                    exerciseDetail.CreatedDate               = DateTime.Now;
                    exerciseDetail.ChangeDate                = DateTime.Now;
                    exerciseDetailList.Add(exerciseDetail);
                }
                result = _es.SaveExerciseMain(exerciseModel, isEdit, exerciseDetailList);
            }
            else
            {
                exerciseModel.ExercisesName = exerciseMainModel.ExercisesName;
                exerciseModel.Description   = exerciseMainModel.Description;
                exerciseModel.Remarks       = exerciseMainModel.Remarks;
                exerciseModel.EffectiveDate = exerciseMainModel.EffectiveDate;
                exerciseModel.Status        = 1;
                exerciseModel.InputType     = 1;
                exerciseModel.CreatedDate   = DateTime.Now;
                exerciseModel.CreatedUser   = Common.CurrentUser.GetCurrentUser().LoginName;
                exerciseModel.ChangeDate    = DateTime.Now;
                exerciseModel.Vguid         = exerciseMainModel.Vguid;

                foreach (var item in exerciseList)
                {
                    Business_ExercisesDetail_Infomation exerciseDetail = new Business_ExercisesDetail_Infomation();
                    exerciseDetail.ExerciseType              = item.ExerciseType;
                    exerciseDetail.ExericseTitleID           = item.ExericseTitleID;
                    exerciseDetail.ExerciseName              = item.ExerciseName;
                    exerciseDetail.ExerciseOption            = item.ExerciseOption;
                    exerciseDetail.Answer                    = item.Answer;
                    exerciseDetail.Score                     = item.Score;
                    exerciseDetail.InputType                 = 1;
                    exerciseDetail.IsEntry                   = item.IsEntry;            //是否录入习题库
                    exerciseDetail.Vguid                     = Guid.NewGuid();
                    exerciseDetail.ExercisesInformationVguid = exerciseMainModel.Vguid; //习题主信息Vguid
                    exerciseDetail.CreatedUser               = Common.CurrentUser.GetCurrentUser().LoginName;
                    exerciseDetail.CreatedDate               = DateTime.Now;
                    exerciseDetail.ChangeDate                = DateTime.Now;
                    exerciseDetailList.Add(exerciseDetail);
                }
                result = _es.SaveExerciseMain(exerciseModel, isEdit, exerciseDetailList);
            }
            return(result);
        }