EI-Image-Viewer-Api/IRaCIS.Core.Application/Service/ReadingAndReport/ReportService.cs

636 lines
29 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

//using AutoMapper;
//using IRaCIS.Core.Infrastructure.ExpressionExtend;
//using IRaCIS.Core.Application.Contracts;
//using IRaCIS.Core.Infra.EFCore;
//using IRaCIS.Core.Domain.Models;
//using IRaCIS.Core.Domain.Share;
//using Microsoft.AspNetCore.Authorization;
//using Microsoft.AspNetCore.Mvc;
//namespace IRaCIS.Core.Application.Services
//{
// [ ApiExplorerSettings(GroupName = "Reading")]
// public class ReportService : BaseService, IReportService
// {
// private readonly ITURepository _tURepository;
// private readonly ITRRepository _tRRepository;
// private readonly IRSRepository _rSRepository;
// private readonly IRepository<Report> _reportRepository;
// private readonly IRepository<VisitStage> _visitStageRepository;
// private readonly IRepository<SubjectVisit> _subjectVisitRepository;
// private readonly IWorkloadTPRepository _workloadTPRepository;
// private readonly IWorkloadGlobalRepository _workloadGlobalRepository;
// #pragma warning disable
// private string linkGroupId;
// public ReportService(ITURepository tURepository, ITRRepository tRRepository,
// IRSRepository rSRepository, IRepository<Report> reportRepository,
// IWorkloadTPRepository workloadTPRepository,
// IRepository<VisitStage> visitStageRepository,
// IRepository<SubjectVisit> subjectVisitRepository,
// IWorkloadGlobalRepository workloadGlobalRepository,
// IMapper mapper)
// {
// _tURepository = tURepository;
// _tRRepository = tRRepository;
// _rSRepository = rSRepository;
// _reportRepository = reportRepository;
// _workloadTPRepository = workloadTPRepository;
// _visitStageRepository = visitStageRepository;
// _subjectVisitRepository = subjectVisitRepository;
// _workloadGlobalRepository = workloadGlobalRepository;
// }
// public bool AddLesion(List<LesionInformation> lesionList, ReportDTO report)
// {
// TU lastTu = _tURepository.AsQueryable().OrderByDescending("TUSEQ").FirstOrDefault();
// int tuSeq = 101;
// if (lastTu != null) { tuSeq = lastTu.TUSEQ + 1; }
// TR lastTr = _tRRepository.AsQueryable().OrderByDescending("TRSEQ").FirstOrDefault();
// int trSeq = 1;
// if (lastTr != null) { trSeq = lastTr.TRSEQ + 1; }
// foreach (var lesion in lesionList)
// {
// var linkId = lesion.TULNKID;
// if (string.IsNullOrWhiteSpace(lesion.TULNKID))
// {
// linkId = (lesion.TUORRES == "TARGET") ? "T" + tuSeq.ToString() : "NT" + tuSeq.ToString();
// }
// _tURepository.Add(new TU
// {
// STUDYID = lesion.STUDYID,
// LesionType = lesion.LesionType,
// USUBJID = lesion.USUBJID,
// TUSEQ = tuSeq,
// TULNKID = linkId,
// TUTESTCD = lesion.TUTESTCD,
// TUTEST = lesion.TUTEST,
// TUORRES = lesion.TUORRES,
// TUSTRESC = lesion.TUSTRESC,
// TULOC = lesion.TULOC,
// LocDescription = lesion.LocDescription,
// TULAT = lesion.TULAT,
// TUDIR = lesion.TUDIR,
// TUPORTOT = lesion.TUPORTOT,
// TUMETHOD = lesion.TUMETHOD,
// TUEVAL = lesion.TUEVAL,
// VISIT = lesion.VISIT,
// VISITNUM = lesion.VISITNUM,
// VISITDY = lesion.VISITDY,
// TUREFID = lesion.TUREFID,
// TUACPTFL = lesion.TUACPTFL,
// TUEVALID = _userInfo.ReviewerCode,//lesion.TUEVALID,
// TUGRPID = string.Empty,
// TUDY = lesion.TUDY,// 检查日
// EPOCH = lesion.EPOCH,
// TUDTC = lesion.TUDTC,
// TUNAM = lesion.TUNAM,
// TUSPID = lesion.TUSPID,
// TpCode = report.TpCode
// });
// _tRRepository.Add(new TR
// {
// STUDYID = lesion.STUDYID,
// USUBJID = lesion.USUBJID,
// TRSEQ = trSeq,
// TRLNKID = linkId,
// TRGRPID = lesion.TRGRPID,
// TRLNKGRP = linkGroupId,
// TRTESTCD = lesion.TRTESTCD,
// TRTEST = lesion.TRTEST,
// TRORRES = lesion.TRORRES,
// TRORRESU = lesion.TRORRESU,
// TRNAM = lesion.TUNAM,
// TRMETHOD = lesion.TUMETHOD,
// TREVAL = lesion.TUEVAL,
// TREVALID = _userInfo.ReviewerCode,//lesion.TUEVALID,
// TRACPTFL = lesion.TUACPTFL,
// CoveredLesion = true,
// Note = lesion.Note,
// VISITNUM = lesion.VISITNUM,
// VISIT = lesion.VISIT,
// VISITDY = lesion.VISITDY,
// EPOCH = lesion.EPOCH,
// TRDTC = lesion.TRDTC,
// TRDY = lesion.TRDY,
// TpCode = report.TpCode
// });
// tuSeq++;
// trSeq++;
// }
// return _rSRepository.SaveChanges();
// }
// private IList<LesionInformation> GetBLLesion(string trialCode, string SubjectCode, string tpcodeGroup)
// {
// int[] t = { 1, 2, 3 };
// var query = from tu in _tURepository.Where(u => t.Contains(u.LesionType)
// && u.STUDYID == trialCode && u.USUBJID == SubjectCode && u.TpCode.Contains(tpcodeGroup) /*u.TUEVALID==_userInfo.ReviewerCode*/)
// join tr in _tRRepository.Where(u => u.VISITNUM == 1 && u.STUDYID == trialCode
// && u.USUBJID == SubjectCode && u.TREVALID == _userInfo.ReviewerCode)
// on tu.TULNKID equals tr.TRLNKID into temp
// from tr in temp.DefaultIfEmpty()
// select new LesionInformation
// {
// TUId = tu.Id,
// LesionType = tu.LesionType,
// TULNKID = tu.TULNKID,
// TUSEQ = tu.TUSEQ,
// TULOC = tu.TULOC,
// LocDescription = tu.LocDescription,
// TULAT = tu.TULAT,
// TUDIR = tu.TUDIR,
// TUPORTOT = tu.TUPORTOT,
// TRORRES = tr.TRORRES,
// VISITNUM = tu.VISITNUM,
// Note = tr.Note
// };
// return query.ToList();
// }
// /// 获取基线期病灶信息及其他信息
// [HttpGet, Route("getBLLineLesion/{trialCode}/{subjectCode}/{tpCode}")]
// public BaseLineReportDTO getBLLineLesion(string trialCode, string subjectCode, string tpCode)
// {
// var tpcodeGroup = tpCode.Substring(tpCode.Length - 3, 3);
// var report = _reportRepository.FirstOrDefault(u => u.TrialCode == trialCode && u.SubjectCode == subjectCode && u.VisitNum == 1); ;
// BaseLineReportDTO result = new BaseLineReportDTO
// {
// LesionInformation = GetBLLesion(trialCode, subjectCode, tpcodeGroup).Where(u => u.VISITNUM == 1).ToList(),
// ReportResult = _mapper.Map<ReportDTO>(report)
// };
// return result;
// }
// /// 获取其他检查批次病灶信息
// [AllowAnonymous]
// [HttpGet, Route("getVisitLineLesion/{trialCode}/{subjectCode}/{visitNum:decimal}/{tpCode}")]
// public VisitLesionInfo GetVisitLineLesion(string trialCode, string subjectCode, decimal visitNum, string tpCode)
// {
// var tpcodeGroup = tpCode.Substring(tpCode.Length - 3, 3);
// VisitLesionInfo visitLesionInfo = new VisitLesionInfo();
// var blLesionList = GetBLLesion(trialCode, subjectCode, tpcodeGroup);
// int[] t = { 1, 2, 3 };
// var query = from tu in _tURepository.Where(u => u.STUDYID == trialCode && u.USUBJID == subjectCode && u.TpCode.Contains(tpcodeGroup) /*u.TUEVALID == _userInfo.ReviewerCode*/)
// join tr in _tRRepository.Where(u => u.VISITNUM == visitNum && u.STUDYID == trialCode && u.USUBJID == subjectCode && u.TpCode.Contains(tpcodeGroup))
// on tu.TULNKID equals tr.TRLNKID into temp
// from tr in temp.DefaultIfEmpty()
// select new LesionInformation
// {
// TUId = tu.Id,
// TUSEQ = tu.TUSEQ,
// TULOC = tu.TULOC,
// LesionType = tu.LesionType,
// TULNKID = tu.TULNKID,
// LocDescription = tu.LocDescription,
// TULAT = tu.TULAT,
// TUDIR = tu.TUDIR,
// TUPORTOT = tu.TUPORTOT,
// TRORRESU = tr.TRORRESU,
// TRORRES = tr.TRORRES,
// Note = tr.Note,
// CoveredLesion = tr.CoveredLesion,
// VISITNUM = tr.VISITNUM
// };
// var list = query.ToList();
// var currentVisitLesion = list.Where(u => t.Contains(u.LesionType) && u.VISITNUM == visitNum).ToList();
// foreach (var item in blLesionList)
// {
// var temp = _mapper.Map<VisitLesion>(item);
// temp.CurrentLesion = currentVisitLesion.Where(u => u.STUDYID == item.STUDYID
// && u.USUBJID == item.USUBJID && u.TUEVAL == item.TUEVAL
// && u.TULNKID == item.TULNKID).FirstOrDefault() ?? new LesionInformation();
// visitLesionInfo.BLLesionList.Add(temp);
// }
// List<Guid> blIdList = blLesionList.Select(u => u.TUId).ToList();
// List<Guid> visitIdList = currentVisitLesion.Where(u => t.Contains(u.LesionType)).Select(u => u.TUId).ToList();
// var visitLesion = visitIdList.Except(blIdList);
// foreach (var item in visitLesion)
// {
// VisitLesion tempLesion = new VisitLesion();
// tempLesion.CurrentLesion = currentVisitLesion.Where(u => u.TUId == item).FirstOrDefault() ?? new LesionInformation();
// tempLesion.LesionType = tempLesion.CurrentLesion.LesionType;
// tempLesion.TUSEQ = tempLesion.CurrentLesion.TUSEQ;
// visitLesionInfo.BLLesionList.Add(tempLesion);
// }
// // 以往新病灶病灶类型为5且检查批次编号小于当前检查批次且不是基线
// var previousLesion = list.Where(u => u.VISITNUM < visitNum && u.VISITNUM != 1 && u.LesionType == 5).ToList();
// foreach (var item in previousLesion)
// {
// var temp = _mapper.Map<VisitLesion>(item);
// temp.CurrentLesion = currentVisitLesion.Where(u => u.TULNKID==item.TULNKID && u.STUDYID == item.STUDYID && u.USUBJID == item.USUBJID && u.TUEVAL == item.TUEVAL).FirstOrDefault() ?? new LesionInformation();
// visitLesionInfo.PreviousNewLesionList.Add(temp);
// }
// visitLesionInfo.EquivocalNewLesionList = list.Where(u => u.VISITNUM <= visitNum && u.LesionType == 4).ToList();
// visitLesionInfo.UnequivocalNewLesionList = list.Where(u => u.VISITNUM == visitNum && u.LesionType == 5).ToList();
// var report = _reportRepository.FirstOrDefault(u => u.TrialCode == trialCode && u.SubjectCode == subjectCode && u.VisitNum == visitNum); ;
// visitLesionInfo.ReportResult = _mapper.Map<ReportDTO>(report);
// var rs = _rSRepository.Where(u => u.STUDYID == trialCode && u.USUBJID == subjectCode
// && u.RSEVALID == _userInfo.ReviewerCode && u.VISITNUM == visitNum);
// var target = rs.FirstOrDefault(u => u.RSTESTCD == "TRGRESP");
// var non_target = rs.FirstOrDefault(u => u.RSTESTCD == "NTRGRESP");
// var overall = rs.FirstOrDefault(u => u.RSTESTCD == "OVRLRESP");
// visitLesionInfo.Efficacy = new EfficacyAssessment
// {
// TargetLesion = target?.RSORRES,
// TargetLesionNote = target?.Note,
// Non_targetLesion = non_target?.RSORRES,
// Non_targetLesionNote = non_target?.Note,
// OverallAssessment = overall?.RSORRES,
// OverallAssessmentNote = overall?.Note
// };
// var preRS = _rSRepository.Where(u => u.STUDYID == trialCode && u.USUBJID == subjectCode
// && u.VISITNUM < visitNum && u.RSTESTCD == "OVRLRESP"
// && u.RSEVAL == _userInfo.ReviewerCode /*&& u.VISITNUM == visitNum*/)
// .Select(u => new PreviousOverallAssessment
// {
// VisitName = u.VISIT,
// OverallAssessment = u.RSORRES
// }).ToList();
// visitLesionInfo.PreviousOverallAssessment = preRS;
// var targetList = _tRRepository.Where(u => (!string.IsNullOrWhiteSpace(u.TRLNKID)) && (!u.TRLNKID.Contains("N")) && u.STUDYID == trialCode &&
// u.USUBJID == subjectCode && u.TpCode.Contains(tpcodeGroup) && u.VISITNUM < visitNum).ToList();
// var q = from ttt in targetList
// group ttt by ttt.VISIT into s
// select new MinVisit
// {
// MinSum = s.Sum(p => p.TRORRES_Double),
// MinVistName = s.Key
// };
// var tempList = q.ToList();
// MinVisit min = new MinVisit();
// if (tempList.Count>0)
// {
// min = tempList.FirstOrDefault();
// }
// foreach (var item in tempList)
// {
// if (min.MinSum > item.MinSum)
// {
// min = item;
// }
// }
// visitLesionInfo.MinVisitInfo = min;
// return visitLesionInfo;
// }
// /// <summary>
// /// 提交报告
// /// </summary>
// [AllowAnonymous]
// [HttpPost("{tpId:guid}")]
// public bool SubmiteReport(Guid tpId)
// {
// // 提交报告 同时查询VisitStage项目检查批次计划看是否需要添加全局
// var query = from workloadTp in _workloadTPRepository.Where(u => u.Id == tpId)
// join subjectVisit in _subjectVisitRepository.AsQueryable()
// on workloadTp.SubjectVisitId equals subjectVisit.Id
// join visitStage in _visitStageRepository.AsQueryable()
// on new { workloadTp.TrialId, subjectVisit.VisitNum } equals new { visitStage.TrialId, visitStage.VisitNum }
// select new
// {
// WorkloadTp = workloadTp,
// VisitNum = subjectVisit.VisitNum,
// VisitName = subjectVisit.VisitName,
// NeedGlobal = visitStage.NeedGlobal
// };
// var workload = query.ToList().FirstOrDefault();
// if (workload != null)
// {
// if (workload.NeedGlobal)// 需要产生全局
// {
// var group = workload.WorkloadTp.TimepointCode.Substring(workload.WorkloadTp.TimepointCode.Length - 2, 2);
// _workloadGlobalRepository.Add(new WorkloadGlobal
// {
// GlobalCode = workload.WorkloadTp.TimepointCode + "G" + group,
// ReviewerId = Guid.Empty,
// SiteId = workload.WorkloadTp.SiteId,
// Status = -1,
// SubjectId = workload.WorkloadTp.SubjectId,
// TrialId = workload.WorkloadTp.TrialId,
// VisitId = workload.WorkloadTp.SubjectVisitId,
// VisitNum = workload.VisitNum,
// VisitName = workload.VisitName,
// UpdateTime = DateTime.Now
// });
// }
// }
// return _workloadTPRepository.Update(u => u.Id == tpId, s => new WorkloadTP
// {
// Status = (int)WorkloadStatus.ReviewFinish
// });
// }
// /// <summary>
// /// 保存 基线期病灶及测量信息及其他信息,不会改变状态
// /// </summary>
// [AllowAnonymous]
// [HttpPost]
// public bool AddBaseLineLesion(BaseLineReportCommand baseLineReportCommand)
// {
// if (baseLineReportCommand.LesionInformation.Count < 1) return false;
// var addedLesion = baseLineReportCommand.LesionInformation[0];
// //删除已经有的数据
// _tURepository.Delete(u => u.VISITNUM == addedLesion.VISITNUM && u.USUBJID == addedLesion.USUBJID && u.TUEVALID == _userInfo.ReviewerCode);
// _tRRepository.Delete(u => u.VISITNUM == addedLesion.VISITNUM && u.USUBJID == addedLesion.USUBJID && u.TREVALID == _userInfo.ReviewerCode);
// _reportRepository.Delete(u => u.TPId == baseLineReportCommand.ReportResult.TPId);
// _workloadTPRepository.Update(u => u.Id == baseLineReportCommand.ReportResult.TPId, s => new WorkloadTP
// {
// Status = (int)WorkloadStatus.Reading
// });
// //序号按照每个项目、每个患者、每个评估者,一条记录
// TU lastTu = _tURepository.Where(u => u.STUDYID == addedLesion.STUDYID && u.USUBJID == addedLesion.USUBJID
// && u.TUEVAL == addedLesion.TUEVAL).OrderByDescending("TUSEQ").FirstOrDefault();
// int tuSeq = 101;
// if (lastTu != null) { tuSeq = lastTu.TUSEQ; }
// TR lastTr = _tRRepository.AsQueryable().OrderByDescending("TRSEQ").FirstOrDefault();
// int trSeq = 1;
// if (lastTr != null) { trSeq = lastTr.TRSEQ; }
// linkGroupId = Guid.NewGuid().ToString();
// foreach (var lesion in baseLineReportCommand.LesionInformation)
// {
// var linkId = lesion.TULNKID;
// if (string.IsNullOrWhiteSpace(lesion.TULNKID))
// {
// linkId = (lesion.TUORRES == "TARGET") ? "T" + tuSeq.ToString() : "NT" + tuSeq.ToString();
// }
// _tURepository.Add(new TU
// {
// STUDYID = lesion.STUDYID,
// LesionType = lesion.LesionType,
// USUBJID = lesion.USUBJID,
// TUSEQ = tuSeq,
// TULNKID = linkId,
// TUTESTCD = lesion.TUTESTCD,
// TUTEST = lesion.TUTEST,
// TUORRES = lesion.TUORRES,
// TUSTRESC = lesion.TUSTRESC,
// TULOC = lesion.TULOC,
// LocDescription = lesion.LocDescription,
// TULAT = lesion.TULAT,
// TUDIR = lesion.TUDIR,
// TUPORTOT = lesion.TUPORTOT,
// TUMETHOD = lesion.TUMETHOD,
// TUEVAL = lesion.TUEVAL,
// VISIT = lesion.VISIT,
// VISITNUM = lesion.VISITNUM,
// VISITDY = lesion.VISITDY,
// TUREFID = lesion.TUREFID,
// TUACPTFL = lesion.TUACPTFL,
// TUEVALID = _userInfo.ReviewerCode,//lesion.TUEVALID,
// TUGRPID = string.Empty,
// TUDY = lesion.TUDY,// 检查日
// EPOCH = lesion.EPOCH,
// TUDTC = lesion.TUDTC,
// TUNAM = lesion.TUNAM,
// TUSPID = lesion.TUSPID,
// TpCode = baseLineReportCommand.ReportResult.TpCode
// });
// _tRRepository.Add(new TR
// {
// STUDYID = lesion.STUDYID,
// USUBJID = lesion.USUBJID,
// TRSEQ = trSeq,
// TRLNKID = linkId,
// TRGRPID = lesion.TRGRPID,
// TRLNKGRP = linkGroupId,
// TRTESTCD = lesion.TRTESTCD,
// TRTEST = lesion.TRTEST,
// TRORRES = lesion.TRORRES,
// TRORRESU = lesion.TRORRESU,
// TRNAM = lesion.TUNAM,
// TRMETHOD = lesion.TUMETHOD,
// TREVAL = lesion.TUEVAL,
// TREVALID = _userInfo.ReviewerCode,//lesion.TUEVALID,
// TRACPTFL = lesion.TUACPTFL,
// Note = lesion.Note,
// VISITNUM = lesion.VISITNUM,
// VISIT = lesion.VISIT,
// VISITDY = lesion.VISITDY,
// EPOCH = lesion.EPOCH,
// TRDTC = lesion.TRDTC,
// TRDY = lesion.TRDY,
// TpCode = baseLineReportCommand.ReportResult.TpCode
// });
// tuSeq++;
// trSeq++;
// }
// _tRRepository.Add(new TR
// {
// STUDYID = addedLesion.STUDYID,
// USUBJID = addedLesion.USUBJID,
// TRSEQ = trSeq,
// TRLNKID = string.Empty,
// TRGRPID = addedLesion.TRGRPID,
// TRLNKGRP = linkGroupId,
// TRTESTCD = addedLesion.TRTESTCD,
// TRTEST = "Sum of Diameter",
// TRORRES = baseLineReportCommand.SumOfDiameter,
// TRORRESU = "mm",//addedLesion.TRORRESU,
// TRNAM = addedLesion.TUNAM,
// TRMETHOD = addedLesion.TUMETHOD,
// TREVAL = addedLesion.TUEVAL,
// TREVALID = _userInfo.ReviewerCode,//addedLesion.TUEVALID,
// TRACPTFL = addedLesion.TUACPTFL,
// Note = string.Empty,
// VISITNUM = addedLesion.VISITNUM,
// VISIT = addedLesion.VISIT,
// VISITDY = addedLesion.VISITDY,
// EPOCH = addedLesion.EPOCH,
// TRDTC = addedLesion.TRDTC,
// TRDY = addedLesion.TRDY,
// TpCode = baseLineReportCommand.ReportResult.TpCode
// });
// trSeq++;
// _tRRepository.Add(new TR
// {
// STUDYID = addedLesion.STUDYID,
// USUBJID = addedLesion.USUBJID,
// TRSEQ = trSeq,
// TRLNKID = string.Empty,
// TRGRPID = addedLesion.TRGRPID,
// TRLNKGRP = linkGroupId,
// TRTESTCD = addedLesion.TRTESTCD,
// TRTEST = "Sum Diameters of Non Lymph Node Tumors",
// TRORRES = baseLineReportCommand.SumDiameterOfNonLymphNode,
// TRORRESU = "mm",//addedLesion.TRORRESU,
// TRNAM = addedLesion.TUNAM,
// TRMETHOD = addedLesion.TUMETHOD,
// TREVAL = addedLesion.TUEVAL,
// TREVALID = _userInfo.ReviewerCode,//addedLesion.TUEVALID,
// TRACPTFL = addedLesion.TUACPTFL,
// Note = string.Empty,
// VISITNUM = addedLesion.VISITNUM,
// VISIT = addedLesion.VISIT,
// VISITDY = addedLesion.VISITDY,
// EPOCH = addedLesion.EPOCH,
// TRDTC = addedLesion.TRDTC,
// TRDY = addedLesion.TRDY,
// TpCode = baseLineReportCommand.ReportResult.TpCode
// });
// trSeq++;
// _reportRepository.Add(_mapper.Map<Report>(baseLineReportCommand.ReportResult));
// return _reportRepository.SaveChanges();
// }
// /// <summary>
// /// 添加检查批次报告信息
// /// LesionInformation 为新病灶及测量信息(包括分裂及合并产生的)
// /// TRList 已经存在的病灶的测量信息
// /// RSList 疗效信息
// /// </summary>
// [AllowAnonymous]
// [HttpPost, Route("saveVisitReport")]
// public bool SaveVisitReport(VisitReportCommand visitReportCommand)
// {
// linkGroupId = Guid.NewGuid().ToString();
// var visitNum = visitReportCommand.ReportResult.VisitNum;
// var subjectId = visitReportCommand.ReportResult.SubjectCode;
// //删除已经有的数据
// _tURepository.Delete(u => u.VISITNUM == visitNum && u.USUBJID == subjectId && u.TUEVALID == _userInfo.ReviewerCode);
// _tRRepository.Delete(u => u.VISITNUM == visitNum && u.USUBJID == subjectId && u.TREVALID == _userInfo.ReviewerCode);
// _reportRepository.Delete(u => u.TPId == visitReportCommand.ReportResult.TPId);
// _rSRepository.Delete(u => u.VISITNUM == visitNum && u.RSEVALID == _userInfo.ReviewerCode);
// var report = visitReportCommand.ReportResult;
// _workloadTPRepository.Update(u => u.Id == report.TPId, s => new WorkloadTP
// {
// Status = (int)WorkloadStatus.Reading
// });
// if (visitReportCommand.LesionInformation.Count > 0)
// {
// AddLesion(visitReportCommand.LesionInformation, report);
// }
// TR lastTr = _tRRepository.AsQueryable().OrderByDescending("TRSEQ").FirstOrDefault();
// int trSeq = 1;
// if (lastTr != null) { trSeq = lastTr.TRSEQ + 1; }
// foreach (var lesion in visitReportCommand.TRList)
// {
// _tRRepository.Add(new TR
// {
// STUDYID = lesion.STUDYID,
// USUBJID = lesion.USUBJID,
// TRSEQ = trSeq,
// TRLNKID = lesion.TRLNKID,
// TRGRPID = lesion.TRGRPID,
// TRLNKGRP = linkGroupId,
// TRTESTCD = lesion.TRTESTCD,
// TRTEST = lesion.TRTEST,
// TRORRES = lesion.TRORRES,
// TRORRESU = lesion.TRORRESU,
// TRNAM = lesion.TRNAM,
// TRMETHOD = lesion.TRMETHOD,
// TREVAL = lesion.TREVAL,
// TREVALID = _userInfo.ReviewerCode,// lesion.TREVALID,
// TRACPTFL = lesion.TRACPTFL,
// Note = lesion.Note,
// CoveredLesion = lesion.CoveredLesion,
// VISITNUM = lesion.VISITNUM,
// VISIT = lesion.VISIT,
// VISITDY = lesion.VISITDY,
// EPOCH = lesion.EPOCH,
// TRDTC = lesion.TRDTC,
// TRDY = lesion.TRDY,
// TpCode = visitReportCommand.ReportResult.TpCode
// });
// trSeq++;
// }
// foreach (var rs in visitReportCommand.RSList)
// {
// _rSRepository.Add(new RS
// {
// STUDYID = rs.STUDYID,
// USUBJID = rs.USUBJID,
// RSSEQ = 0,//
// RSLNKGRP = linkGroupId,
// RSTESTCD = rs.RSTESTCD,
// RSTEST = rs.RSTEST,
// RSCAT = rs.RSCAT,
// RSORRES = rs.RSORRES,
// RSSTRESC = rs.RSSTRESC,
// RSSTAT = rs.RSSTAT,
// RSREASND = rs.RSCAT,
// RSEVAL = rs.RSEVAL,
// RSEVALID = _userInfo.ReviewerCode,//
// VISITNUM = rs.VISITNUM,
// VISIT = rs.VISIT,
// RSDTC = rs.RSDTC,
// RSDY = rs.RSDY,
// TpCode = visitReportCommand.ReportResult.TpCode,
// StudyGuid = rs.StudyGuid,
// TrialGuid = rs.TrialGuid,
// SubjectGuid = rs.SubjectGuid,
// Note = rs.Note
// });
// }
// _reportRepository.Add(_mapper.Map<Report>(visitReportCommand.ReportResult));
// return _rSRepository.SaveChanges();
// }
// }
//}