예제 #1
0
        /// <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);
                }
            }
        }
예제 #2
0
        /// <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);
        }