private void RemoveRelation(QuestionInfo question, List <SolutionInfo> removeList) { foreach (SolutionInfo solution in removeList) { DbModel.QuestionSolutionInfo relationInfo = GetRelation(question, solution); _relationRepository.Remove(relationInfo); } foreach (SolutionInfo solution in removeList) { _solutionRepository.Remove(solution.Id); } }
public SolutionInfo QuerySolution(Expression <Func <DbModel.QuestionSolutionInfo, bool> > expression) { if (expression == null) { return(null); } DbModel.QuestionSolutionInfo relation = _relationRepository.Load(expression); SolutionInfo result = new SolutionInfo(); result.RelationId = relation.Id; result.Name = relation.Solution.Name; result.Score = relation.Solution.SolutionSocre; result.IsCorrect = relation.Solution.IsCorrect; result.Id = relation.SolutionId; return(result); }
private void SaveRelation(QuestionInfo questionInfo) { //保存答案 if (questionInfo.Solutions != null && questionInfo.Solutions.Count() > 0) { //循环保存答案 foreach (SolutionInfo solution in questionInfo.Solutions) { DbModel.SolutionInfo so = null; if (solution.Id <= 0) { so = new DbModel.SolutionInfo(); so.CreateUserId = _loginUser.Id; so.CreateDate = DateTime.Now; } else { so = _solutionRepository.Load(solution.Id); so.Id = solution.Id; } so.Name = solution.Name; so.IsCorrect = solution.IsCorrect; so.SolutionSocre = solution.Score; so = _solutionRepository.Save(so); _solutionRepository.Commit(); solution.Id = so.Id; } //循环保存答案和问题的关联关系 foreach (SolutionInfo solution in questionInfo.Solutions) { DbModel.QuestionSolutionInfo relationInfo = null; if (solution.RelationId != 0) { relationInfo = _relationRepository.Load(solution.RelationId); } else { relationInfo = new DbModel.QuestionSolutionInfo(); } relationInfo.QuestionId = questionInfo.Id; relationInfo.SolutionId = solution.Id; _relationRepository.Save(relationInfo); } } }