/// <summary> /// 答题 /// </summary> /// <param name="type">0 判断题</param> /// <param name="mode"></param> /// <param name="entity"></param> public void answerWork(string type, HistoryAnswerEntity mode, HistoryQuestionEntity entity) { var db = new RepositoryFactory().BaseRepository().BeginTrans(); try { if (type == "0") { db.Update(mode); } else { entity.TheAnswer = null; entity.Files = null; db.Update(entity); } db.Commit(); } catch (Exception) { db.Rollback(); throw; } }
/// <summary> ///add modify /// </summary> public void SaveFormHistoryQuestion(HistoryQuestionEntity bankEntity, List <HistoryAnswerEntity> answerEntity, string delAnswer, UserEntity operationUser) { service.SaveFormHistoryQuestion(bankEntity, answerEntity, delAnswer, operationUser); }
/// <summary> ///history add modify /// </summary> public void SaveFormHistoryQuestion(HistoryQuestionEntity bankEntity, List <HistoryAnswerEntity> answerEntity, string delAnswer, UserEntity operationUser) { var db = new RepositoryFactory().BaseRepository().BeginTrans(); try { //bankEntity.TheAnswer = null; bankEntity.Files = null; //add or modify if (string.IsNullOrEmpty(bankEntity.Id)) { //新增 var keyvalue = Guid.NewGuid().ToString(); bankEntity.Id = keyvalue; bankEntity.CreateUserId = operationUser.UserId; bankEntity.CreateDate = DateTime.Now; bankEntity.CreateUserName = operationUser.RealName; bankEntity.ModifyUserId = operationUser.UserId; bankEntity.ModifyDate = DateTime.Now; bankEntity.ModifyUserName = operationUser.RealName; List <FileInfoEntity> answerFiles = new List <FileInfoEntity>(); if (answerEntity.Count > 0) { foreach (var item in answerEntity) { item.questionid = keyvalue; item.Id = Guid.NewGuid().ToString(); } } db.Insert(bankEntity); db.Insert(answerEntity); //db.Insert(answerFiles); } else { var old = db.FindEntity <QuestionBankEntity>(bankEntity.Id); if (old != null) { old.ModifyUserId = operationUser.UserId; old.ModifyDate = DateTime.Now; old.ModifyUserName = operationUser.RealName; old.topictitle = bankEntity.topictitle; old.description = bankEntity.description; old.istrue = bankEntity.istrue; old.fileids = bankEntity.fileids; //是否删除答案 //if (!string.IsNullOrEmpty(delAnswer)) //{ // var dels = delAnswer.Split(','); // var delAnswerList = new List<HistoryAnswerEntity>(); // var delFileList = new List<FileInfoEntity>(); // foreach (var item in dels) // { // var oldAnswer = db.FindEntity<HistoryAnswerEntity>(item); // if (oldAnswer != null) // { // var delFile = db.FindList<FileInfoEntity>(x => x.RecId == item); // delFileList.AddRange(delFile); // delAnswerList.Add(oldAnswer); // } // } // if (delAnswerList.Count > 0) // { // db.Delete(delAnswerList); // } // if (delFileList.Count > 0) // { // db.Delete(delFileList); // } //} var oldAnswer = db.FindList <HistoryAnswerEntity>(x => x.questionid == bankEntity.Id); var updateAnswer = new List <HistoryAnswerEntity>(); if (bankEntity.TheAnswer != null) { var delStr = string.Join(",", bankEntity.TheAnswer.Select(x => x.Id)); var delEntity = oldAnswer.Where(x => !delStr.Contains(x.Id)).ToList(); foreach (var item in answerEntity) { if (string.IsNullOrEmpty(item.Id)) { item.questionid = bankEntity.Id; item.Id = Guid.NewGuid().ToString(); updateAnswer.Add(item); } else { var Answer = db.FindEntity <HistoryAnswerEntity>(x => x.Id == item.Id); if (Answer != null) { Answer.istrue = item.istrue; Answer.answer = item.answer; Answer.description = item.description; db.Update(Answer); } } } db.Delete(delEntity); } db.Insert(updateAnswer); db.Update(old); } } db.Commit(); } catch (Exception) { db.Rollback(); throw; } }