/// <summary>
        /// 批量审核习题
        /// </summary>
        /// <param name="vguid"></param>
        /// <returns></returns>
        public bool CheckedExercise(string vguid)
        {
            using (SqlSugarClient _dbMsSql = SugarDao_MsSql.GetInstance())
            {
                bool result = false;
                Guid Vguid  = Guid.Parse(vguid);
                try
                {
                    _dbMsSql.BeginTran();
                    result = _dbMsSql.Update <Business_ExerciseLibrary_Information>(new { Status = 2 },
                                                                                    i => i.Vguid == Vguid);
                    Business_ExerciseLibrary_Information exerciseInfo =
                        _dbMsSql.Queryable <Business_ExerciseLibrary_Information>()
                        .Where(i => i.Vguid == Vguid)
                        .SingleOrDefault();
                    string exerciseJson = JsonHelper.ModelToJson <Business_ExerciseLibrary_Information>(exerciseInfo);
                    //存入操作日志表
                    _logLogic.SaveLog(9, 38, Common.CurrentUser.GetCurrentUser().LoginName, exerciseInfo.ExerciseName,
                                      exerciseJson);

                    _dbMsSql.CommitTran();
                }
                catch (Exception ex)
                {
                    _dbMsSql.RollbackTran();
                    Common.LogHelper.LogHelper.WriteLog(ex.ToString());
                    _logLogic.SaveLog(5, 38, Common.CurrentUser.GetCurrentUser().LoginName, "", ex.ToString());
                }
                return(result);
            }
        }
 /// <summary>
 /// 删除未提交习题
 /// </summary>
 /// <param name="vguid">习题Vguid</param>
 /// <returns></returns>
 public bool DeletedExercise(string vguid)
 {
     using (SqlSugarClient _dbMsSql = SugarDao_MsSql.GetInstance())
     {
         bool result        = false;
         Guid exerciseVguid = Guid.Parse(vguid);
         try
         {
             _dbMsSql.BeginTran();
             Business_ExerciseLibrary_Information exerciseModel =
                 _dbMsSql.Queryable <Business_ExerciseLibrary_Information>()
                 .Where(i => i.Vguid == exerciseVguid)
                 .SingleOrDefault();
             string logData = JsonHelper.ModelToJson <Business_ExerciseLibrary_Information>(exerciseModel);
             result = _dbMsSql.Delete <Business_ExerciseLibrary_Information>(i => i.Vguid == exerciseVguid);
             //删除习题
             _logLogic.SaveLog(2, 38, Common.CurrentUser.GetCurrentUser().LoginName, exerciseModel.ExerciseName,
                               logData);
             _dbMsSql.CommitTran();
         }
         catch (Exception exp)
         {
             _dbMsSql.RollbackTran();
             Common.LogHelper.LogHelper.WriteLog(exp.ToString());
             _logLogic.SaveLog(5, 38, Common.CurrentUser.GetCurrentUser().LoginName, "", exp.ToString());
         }
         return(result);
     }
 }
        /// <summary>
        /// 保存习题信息
        /// </summary>
        /// <param name="exerciseData">习题信息</param>
        /// <param name="isEdit">是否编辑</param>
        /// <returns></returns>
        public bool SaveExercise(string exerciseData, bool isEdit)
        {
            bool result = false;
            List <Business_ExerciseLibrary_Information> exerciseList       = Common.JsonHelper.JsonToModel <List <Business_ExerciseLibrary_Information> >(exerciseData);//待保存的习题详细信息
            List <Business_ExerciseLibrary_Information> exerciseDetailList = new List <Business_ExerciseLibrary_Information>();

            if (isEdit)
            {
                //循环遍历习题详情
                foreach (var item in exerciseList)
                {
                    Business_ExerciseLibrary_Information exerciseDetail = new Business_ExerciseLibrary_Information();
                    //  exerciseDetail.ExerciseType = item.ExerciseType;
                    //   exerciseDetail.ExericseTitleID = item.ExericseTitleID;
                    exerciseDetail.ExerciseName = item.ExerciseName;
                    exerciseDetail.Option       = item.Option;
                    exerciseDetail.Answer       = item.Answer;
                    exerciseDetail.Score        = item.Score;
                    // exerciseDetail.InputType = 1;
                    exerciseDetail.Vguid = item.Vguid;
                    // exerciseDetail.ExercisesInformationVguid = exerciseMainModel.Vguid;//习题主信息Vguid
                    //  exerciseDetail.CreatedUser = Common.CurrentUser.GetCurrentUser().LoginName;
                    //exerciseDetail.CreatedDate = DateTime.Now;
                    exerciseDetail.ChangeDate = DateTime.Now;
                    exerciseDetail.ChangeUser = Common.CurrentUser.GetCurrentUser().LoginName;
                    exerciseDetailList.Add(exerciseDetail);
                }
                result = _exerciseLibraryServer.SaveExercise(exerciseDetailList, isEdit);
            }
            else
            {
                foreach (var item in exerciseList)
                {
                    Business_ExerciseLibrary_Information exerciseDetail = new Business_ExerciseLibrary_Information();
                    exerciseDetail.ExerciseType           = item.ExerciseType;
                    exerciseDetail.ExerciseName           = item.ExerciseName;
                    exerciseDetail.Option                 = item.Option;
                    exerciseDetail.Answer                 = item.Answer;
                    exerciseDetail.Score                  = item.Score;
                    exerciseDetail.InputType              = 1;
                    exerciseDetail.Status                 = 1;
                    exerciseDetail.Vguid                  = Guid.NewGuid();
                    exerciseDetail.BusinessExercisesVguid = Guid.Empty;//习题主信息Vguid
                    exerciseDetail.CreatedUser            = Common.CurrentUser.GetCurrentUser().LoginName;
                    exerciseDetail.CreatedDate            = DateTime.Now;
                    //  exerciseDetail.ChangeDate = DateTime.Now;
                    exerciseDetailList.Add(exerciseDetail);
                }
                result = _exerciseLibraryServer.SaveExercise(exerciseDetailList, isEdit);
            }
            return(result);
        }
        /// <summary>
        /// 保存习题信息(主信息、详细信息)
        /// </summary>
        /// <param name="exerciseMainModel"></param>
        /// <param name="isEdit"></param>
        /// <returns></returns>
        public bool SaveExerciseMain(Business_Exercises_Infomation exerciseMainModel, bool isEdit, List <Business_ExercisesDetail_Infomation> exerciseDetailList)
        {
            using (SqlSugarClient _dbMsSql = SugarDao.SugarDao_MsSql.GetInstance())
            {
                bool result = false;
                try
                {
                    _dbMsSql.BeginTran();
                    if (isEdit)
                    {
                        //定义匿名类型model
                        var model = new
                        {
                            ExercisesName = exerciseMainModel.ExercisesName,
                            Description   = exerciseMainModel.Description,
                            Remarks       = exerciseMainModel.Remarks,
                            EffectiveDate = exerciseMainModel.EffectiveDate,
                            Status        = exerciseMainModel.Status,
                            ChangeUser    = exerciseMainModel.ChangeUser,
                            ChangeDate    = exerciseMainModel.ChangeDate
                        };
                        result = _dbMsSql.Update <Business_Exercises_Infomation>(model, i => i.Vguid == exerciseMainModel.Vguid);
                        //存入操作日志表
                        string logData = JsonHelper.ModelToJson(exerciseMainModel);
                        _ll.SaveLog(4, 9, CurrentUser.GetCurrentUser().LoginName, exerciseMainModel.ExercisesName + " " + "主信息", logData);
                    }
                    else
                    {
                        result = _dbMsSql.Insert(exerciseMainModel, false) != DBNull.Value;

                        //存入操作日志表
                        string logData = JsonHelper.ModelToJson(exerciseMainModel);
                        _ll.SaveLog(1, 8, CurrentUser.GetCurrentUser().LoginName, exerciseMainModel.ExercisesName + " " + "主信息", logData);
                    }
                    _dbMsSql.Delete <Business_ExercisesDetail_Infomation>(i => i.ExercisesInformationVguid == exerciseMainModel.Vguid);
                    var listExerciseLibrary = new List <Business_ExerciseLibrary_Information>();
                    foreach (var item in exerciseDetailList)
                    {
                        _dbMsSql.Delete <Business_ExerciseLibrary_Information>(c => c.BusinessExercisesVguid == item.ExercisesInformationVguid);
                        if (item.IsEntry == "1")
                        {
                            bool isExist = _dbMsSql.Queryable <Business_ExerciseLibrary_Information>().Any(c => c.ExerciseType == item.ExerciseType && c.ExerciseName == item.ExerciseName);
                            if (!isExist)
                            {
                                //将习题保存到习题库中
                                var model = new Business_ExerciseLibrary_Information()
                                {
                                    ExerciseName           = item.ExerciseName,
                                    ExerciseType           = item.ExerciseType,
                                    Option                 = item.ExerciseOption,
                                    Answer                 = item.Answer,
                                    Score                  = item.Score,
                                    BusinessExercisesVguid = item.ExercisesInformationVguid,
                                    Status                 = 1,
                                    InputType              = 3,
                                    TopicType              = 0,
                                    CreatedUser            = item.CreatedUser,
                                    CreatedDate            = item.CreatedDate,
                                    Vguid                  = Guid.NewGuid()
                                };
                                listExerciseLibrary.Add(model);
                            }
                        }
                        _dbMsSql.Insert(item, false);

                        //存入操作日志表
                        string logData = JsonHelper.ModelToJson(item);
                        _ll.SaveLog(4, 10, CurrentUser.GetCurrentUser().LoginName, exerciseMainModel.ExercisesName + " " + "习题详细信息", logData);
                    }
                    _dbMsSql.InsertRange(listExerciseLibrary);
                    _dbMsSql.CommitTran();
                }
                catch (Exception ex)
                {
                    _dbMsSql.RollbackTran();
                    Common.LogHelper.LogHelper.WriteLog(ex.Message + "/n" + ex + "/n" + ex.StackTrace);
                }
                return(result);
            }
        }
        /// <summary>
        /// 将DataTable内容绑定到习题详细信息列表
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public List <Business_ExerciseLibrary_Information> DataTableToList(DataTable dt)
        {
            List <Business_ExerciseLibrary_Information> exerciseDetailList =
                new List <Business_ExerciseLibrary_Information>();

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

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

            return(exerciseDetailList);
        }