//using IRaCIS.Application.Interfaces; //using IRaCIS.Application.Contracts; //using IRaCIS.Core.Infra.EFCore; //using IRaCIS.Core.Infrastructure; //using Microsoft.AspNetCore.Http; //using Microsoft.AspNetCore.Mvc; //using Panda.DynamicWebApi.Attributes; //namespace IRaCIS.Application.Services //{ // /// // /// 日志、项目审计日志 // /// // [ApiExplorerSettings(GroupName = "Common")] // public class LogService : BaseService, ILogService // { // private readonly IRepository _systemLogRepository; // private readonly IHttpContextAccessor _context; // private readonly IRepository _trialAuditRepository; // private readonly IRepository _subjectRepository; // private readonly IRepository _trialRepository; // public LogService(IRepository systemLogRepository, IHttpContextAccessor context, IRepository trialAuditRepository, // IRepository subjectRepository, IRepository trialRepository) // { // _systemLogRepository = systemLogRepository; // _context = context; // _trialAuditRepository = trialAuditRepository; // _subjectRepository = subjectRepository; // _trialRepository = trialRepository; // } // [HttpPost] // public PageOutput GetAuditList(AuditQueryDTO param) // { // var subjectInfo = param.SubjectInfo == null ? string.Empty : param.SubjectInfo.Trim(); // var query = _trialAuditRepository.Where(x => x.TrialId == param.TrialId) // .WhereIf(param.AuditType != null, t => t.AuditType == param.AuditType) // .WhereIf(param.OptUserId != null, t => t.OptUserId == param.OptUserId) // .WhereIf(param.SubjectId != null, t => t.SubjectId == param.SubjectId) // .WhereIf(!string.IsNullOrEmpty(subjectInfo), t => t.Subject.Code.Contains(subjectInfo) || (t.Subject.LastName + " / " + t.Subject.FirstName).Contains(subjectInfo)) // .WhereIf(param.StudyId != null, t => t.StudyId == param.StudyId) // .WhereIf(param.StartDate != null, t => t.OptTime >= param.StartDate) // .WhereIf(param.EndDate != null, t => t.OptTime <= param.EndDate) // .ProjectTo(_mapper.ConfigurationProvider); // return query.ToPagedList(param.PageIndex, param.PageSize, string.IsNullOrWhiteSpace(param.SortField) ? "OptTime" : param.SortField, param.Asc); // } // /// 查询系统日志信息 // [HttpPost] // public PageOutput GetLogList(QueryLogQueryDTO param) // { // var LogCategory = param.LogCategory == null ? string.Empty : param.LogCategory.Trim(); // var keyword = param.Keyword == null ? string.Empty : param.Keyword.Trim(); // var logQueryable = _systemLogRepository // .WhereIf(param.BeginTime!=null,t=>t.RequestTime>= param.BeginTime) // .WhereIf(param.EndTime != null, t => t.RequestTime <= param.EndTime) // .WhereIf(!string.IsNullOrEmpty(LogCategory), t => t.LogCategory == param.LogCategory) // .WhereIf(!string.IsNullOrEmpty(keyword), t => t.Params.Contains(keyword) || t.Result.Contains(keyword)) // .ProjectTo(_mapper.ConfigurationProvider); // return logQueryable.ToPagedList(param.PageIndex, param.PageSize, string.IsNullOrWhiteSpace(param.SortField) ? "RequestTime" : param.SortField, param.Asc); // } // [HttpGet("{trialId:guid}")] // public List GetOptUserList(Guid trialId) // { // var list = _trialAuditRepository.Where(t => t.TrialId == trialId).Select(u => new OptUserDto() // { // OptUserId = u.OptUserId, // OptUser = u.OptUser // }).Distinct().ToList(); // return list; // } // /// // /// 审计列表 受试者下拉框 从受试者那里进去看的时候,这里需要固定,如果不采用下拉框,请传递指定格式的受试者信息查询才行 // /// // /// // /// // [HttpGet("{trialId:guid}")] // public List GetSubjectList(Guid trialId) // { // var query = from trialAudit in _trialAuditRepository.Where(t => t.TrialId == trialId) // join subject in _subjectRepository.AsQueryable() on trialAudit.SubjectId equals subject.Id // select new AuditSubjectSelectDto() // { // SubjectCode = subject.Code, // SubjectId = trialAudit.SubjectId, // SubjectName = subject.LastName + " / " + subject.FirstName // }; // return query.Distinct().ToList(); // } // [NonDynamicMethod] // public IResponseOutput SaveLog2Db(SystemLogDTO input) // { // input.ClientIP = IPHelper.GetIP(_context?.HttpContext?.Request); // _systemLogRepository.Add(_mapper.Map(input)); // var success = _systemLogRepository.SaveChanges(); // return ResponseOutput.Result(success); // } // } //}