/// <summary> /// 清除案例所有加工内容 /// </summary> /// <param name="id"></param> /// <returns></returns> public virtual async Task ClearCaseContent(int id, bool fromAdmin = false) { var caseSource = await GetByIdAsync(id); //设置案源状态 caseSource.OwerId = null; caseSource.CaseSourceStatus = CaseSourceStatus.待选; //清空加工内容 var manager = Resolve <CaseInitialManager>(); var caseInitial = await manager.GetAll().Where(o => o.CaseSourceId == id).FirstOrDefaultAsync(); if (caseInitial != null) { await Resolve <IRepository <CaseNode, int> >().DeleteAsync(o => o.CaseInitialId == caseInitial.Id); await Resolve <IRepository <CaseLabel, int> >().DeleteAsync(o => o.CaseInitialId == caseInitial.Id); await Resolve <CaseCardManager>().Repository.DeleteAsync(o => o.CaseInitialId == caseInitial.Id); await Resolve <CaseFineManager>().Repository.DeleteAsync(o => o.CaseInitialId == caseInitial.Id); await manager.Repository.DeleteAsync(caseInitial); if (fromAdmin) { //管理员操作的记录放回日志 //增加判例记录 var caseHistory = new CaseSourceHistory() { CaseSourceId = id, Reason = "管理员释放", CreatorUserId = caseInitial.CreatorUserId }; await Resolve <CaseSourceHistoryManager>().InsertAsync(caseHistory); } } }
/// <summary> /// 退还判例 /// </summary> /// <param name="id"></param> /// <param name="reason"></param> /// <returns></returns> public virtual async Task GiveBack(int id, string reason) { var manager = Manager as CaseSourceManager; //清空当前用户针对此案源加工的所有数据 await manager.ClearCaseContent(id); //增加判例记录 var caseHistory = new CaseSourceHistory() { CaseSourceId = id, Reason = reason }; await Resolve <CaseSourceHistoryManager>().InsertAsync(caseHistory); }