//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 _reportRepository; // private readonly IRepository _visitStageRepository; // private readonly IRepository _subjectVisitRepository; // private readonly IWorkloadTPRepository _workloadTPRepository; // private readonly IWorkloadGlobalRepository _workloadGlobalRepository; // #pragma warning disable // private string linkGroupId; // public ReportService(ITURepository tURepository, ITRRepository tRRepository, // IRSRepository rSRepository, IRepository reportRepository, // IWorkloadTPRepository workloadTPRepository, // IRepository visitStageRepository, // IRepository 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 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 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(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(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 blIdList = blLesionList.Select(u => u.TUId).ToList(); // List 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(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(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; // } // /// // /// 提交报告 // /// // [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 // }); // } // /// // /// 保存 基线期病灶及测量信息及其他信息,不会改变状态 // /// // [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(baseLineReportCommand.ReportResult)); // return _reportRepository.SaveChanges(); // } // /// // /// 添加检查批次报告信息 // /// LesionInformation 为新病灶及测量信息(包括分裂及合并产生的) // /// TRList 已经存在的病灶的测量信息 // /// RSList 疗效信息 // /// // [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(visitReportCommand.ReportResult)); // return _rSRepository.SaveChanges(); // } // } //}