|
@@ -145,7 +145,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
ResolveExtractRuleId(actionRequest, actionRequest.Id);
|
|
ResolveExtractRuleId(actionRequest, actionRequest.Id);
|
|
|
|
|
|
- _addExtractRuleDto = _mapper.Map<AddExtractRuleDto>(actionRequest);
|
|
|
|
|
|
+ ResolveAddExtractRuleDto(actionRequest);
|
|
|
|
|
|
base.Entity.RuleTags = await ModifyRuleTags(actionRequest, cancellationToken);
|
|
base.Entity.RuleTags = await ModifyRuleTags(actionRequest, cancellationToken);
|
|
|
|
|
|
@@ -154,6 +154,25 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
await base.Complete(base.Entity, OperationConstant.Update);
|
|
await base.Complete(base.Entity, OperationConstant.Update);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void ResolveAddExtractRuleDto(UpdateExtractRuleDto actionRequest)
|
|
|
|
+ {
|
|
|
|
+ _addExtractRuleDto = _mapper.Map<AddExtractRuleDto>(actionRequest);
|
|
|
|
+
|
|
|
|
+ //_addExtractRuleDto.RuleTagDtos = new List<AddRuleTagDto>();
|
|
|
|
+
|
|
|
|
+ //actionRequest.RuleTagDtos.ToList().ForEach(item =>
|
|
|
|
+ //{
|
|
|
|
+ // _addExtractRuleDto.RuleTagDtos.Add(_mapper.Map<AddRuleTagDto>(item));
|
|
|
|
+ //});
|
|
|
|
+
|
|
|
|
+ //_addExtractRuleDto.TagQuestionDtos = new List<AddTagQuestionDto>();
|
|
|
|
+
|
|
|
|
+ //actionRequest.TagQuestionDtos.ToList().ForEach(item =>
|
|
|
|
+ //{
|
|
|
|
+ // _addExtractRuleDto.TagQuestionDtos.Add(_mapper.Map<AddTagQuestionDto>(item));
|
|
|
|
+ //});
|
|
|
|
+ }
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 删除抽题规则
|
|
/// 删除抽题规则
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -290,20 +309,25 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
{
|
|
{
|
|
if (actionRequest.TagQuestionDtos == null) return null;
|
|
if (actionRequest.TagQuestionDtos == null) return null;
|
|
|
|
|
|
- var all = await _tagQuestionRepository.Queryable().Where(m => m.RuleId == actionRequest.Id).ToListAsync();
|
|
|
|
|
|
+ //var all = await _tagQuestionRepository.Queryable().Where(m => m.RuleId == actionRequest.Id).ToListAsync();
|
|
|
|
+
|
|
|
|
+ //actionRequest.TagQuestionDtos.ResolveOperationStatus(all);
|
|
|
|
+
|
|
|
|
+ var entityQueyRequest = ExpressionableUtility.CreateExpression<TagQuestion>()
|
|
|
|
+ .AndIF(actionRequest.Id.IsNotNullOrEmpty(), x => x.RuleId == actionRequest.Id).ToEntityQueryRequest<TagQuestion>();
|
|
|
|
|
|
- actionRequest.TagQuestionDtos.ResolveOperationStatus(all);
|
|
|
|
|
|
+ await DeleteTagQuestions(entityQueyRequest, cancellationToken);
|
|
|
|
|
|
var tagQuestions = new List<TagQuestion>();
|
|
var tagQuestions = new List<TagQuestion>();
|
|
|
|
|
|
tagQuestions.AddRangeExt(await AddTagQuestions(_addExtractRuleDto, cancellationToken));
|
|
tagQuestions.AddRangeExt(await AddTagQuestions(_addExtractRuleDto, cancellationToken));
|
|
|
|
|
|
- tagQuestions.AddRangeExt(await UpdateTagQuestions(actionRequest, all, cancellationToken));
|
|
|
|
|
|
+ //tagQuestions.AddRangeExt(await UpdateTagQuestions(actionRequest, all, cancellationToken));
|
|
|
|
|
|
- var ruleTagDtos = actionRequest.TagQuestionDtos.Where(x => x.OperationStatus == EEOperationStatus.Delete).ToList();
|
|
|
|
- var ids = ruleTagDtos.Select(x => x.Id).ToList();
|
|
|
|
- var entityQueyRequest = ExpressionableUtility.CreateExpression<TagQuestion>()
|
|
|
|
- .AndIF(ids.IsNotNull(), x => ids.Contains(x.Id)).ToEntityQueryRequest<TagQuestion>();
|
|
|
|
|
|
+ //var ruleTagDtos = actionRequest.TagQuestionDtos.Where(x => x.OperationStatus == EEOperationStatus.Delete).ToList();
|
|
|
|
+ //var ids = ruleTagDtos.Select(x => x.Id).ToList();
|
|
|
|
+ //var entityQueyRequest = ExpressionableUtility.CreateExpression<TagQuestion>()
|
|
|
|
+ // .AndIF(ids.IsNotNull(), x => ids.Contains(x.Id)).ToEntityQueryRequest<TagQuestion>();
|
|
|
|
|
|
await DeleteTagQuestions(entityQueyRequest, cancellationToken);
|
|
await DeleteTagQuestions(entityQueyRequest, cancellationToken);
|
|
|
|
|
|
@@ -354,25 +378,30 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
/// <exception cref="NotImplementedException"></exception>
|
|
/// <exception cref="NotImplementedException"></exception>
|
|
private async Task<List<RuleTag>> ModifyRuleTags(UpdateExtractRuleDto actionRequest, CancellationToken cancellationToken)
|
|
private async Task<List<RuleTag>> ModifyRuleTags(UpdateExtractRuleDto actionRequest, CancellationToken cancellationToken)
|
|
{
|
|
{
|
|
|
|
+ var ruleId = actionRequest.Id;
|
|
|
|
+
|
|
if (actionRequest.RuleTagDtos == null) return null;
|
|
if (actionRequest.RuleTagDtos == null) return null;
|
|
|
|
|
|
- var all = await _ruleTagRepository.Queryable().Where(x => x.RuleId == actionRequest.Id).ToListAsync();
|
|
|
|
|
|
+ //var all = await _ruleTagRepository.Queryable().Where(x => x.RuleId == actionRequest.Id).ToListAsync();
|
|
|
|
|
|
- actionRequest.RuleTagDtos.ResolveOperationStatus(all);
|
|
|
|
|
|
+ //actionRequest.RuleTagDtos.ResolveOperationStatus(all);
|
|
|
|
|
|
var ruleTags = new List<RuleTag>();
|
|
var ruleTags = new List<RuleTag>();
|
|
|
|
|
|
- ruleTags.AddRangeExt(await AddRuleTags(_addExtractRuleDto, cancellationToken));
|
|
|
|
-
|
|
|
|
- ruleTags.AddRangeExt(await UpdateRuleTags(actionRequest, cancellationToken));
|
|
|
|
-
|
|
|
|
- var ruleTagDtos = actionRequest.RuleTagDtos.Where(x => x.OperationStatus == EEOperationStatus.Delete).ToList();
|
|
|
|
- var ids = ruleTagDtos.Select(x => x.Id).ToList();
|
|
|
|
var entityQueyRequest = ExpressionableUtility.CreateExpression<RuleTag>()
|
|
var entityQueyRequest = ExpressionableUtility.CreateExpression<RuleTag>()
|
|
- .AndIF(ids.IsNotNull(), x => ids.Contains(x.Id)).ToEntityQueryRequest<RuleTag>();
|
|
|
|
|
|
+ .AndIF(ruleId.IsNotNullOrEmpty(), x => x.RuleId == ruleId).ToEntityQueryRequest<RuleTag>();
|
|
|
|
|
|
await DeleteRuleTags(entityQueyRequest, cancellationToken);
|
|
await DeleteRuleTags(entityQueyRequest, cancellationToken);
|
|
|
|
|
|
|
|
+ ruleTags.AddRangeExt(await AddRuleTags(_addExtractRuleDto, cancellationToken));
|
|
|
|
+
|
|
|
|
+ //ruleTags.AddRangeExt(await UpdateRuleTags(actionRequest, cancellationToken));
|
|
|
|
+
|
|
|
|
+ //var ruleTagDtos = actionRequest.RuleTagDtos.Where(x => x.OperationStatus == EEOperationStatus.Delete).ToList();
|
|
|
|
+ //var ids = ruleTagDtos.Select(x => x.Id).ToList();
|
|
|
|
+ //var entityQueyRequest = ExpressionableUtility.CreateExpression<RuleTag>()
|
|
|
|
+ // .AndIF(ids.IsNotNull(), x => ids.Contains(x.Id)).ToEntityQueryRequest<RuleTag>();
|
|
|
|
+
|
|
return ruleTags;
|
|
return ruleTags;
|
|
}
|
|
}
|
|
|
|
|