using Microsoft.EntityFrameworkCore; using NPOI.SS.Formula.Functions; using Shentun.Pacs.GuidTypes; using Shentun.Pacs.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Volo.Abp.Domain.Repositories; using Volo.Abp.Uow; using Xunit; using Xunit.Abstractions; namespace Shentun.Pacs { public class SysParmTypeManagerTest : PeisDomainTestBase { private readonly IRepository _repository; private readonly GuideTypeManager _manager; //private readonly IDbContextProvider _dbContextProvider; private readonly ITestOutputHelper _output; private readonly IRepository _itemTypeRepository; private readonly IUnitOfWorkManager _unitOfWorkManager; public SysParmTypeManagerTest(ITestOutputHelper output) { _output = output; _repository = GetRequiredService>(); _itemTypeRepository = GetRequiredService>(); _manager = GetRequiredService(); _unitOfWorkManager = GetRequiredService(); } [Fact] public async Task GetListAsync() { var items = await _repository.GetListAsync(); items.ForEach(o => { _output.WriteLine(o.Id + o.DisplayName.ToString()); }); } [Fact] public async Task GetByIdAsync() { using (var uow = _unitOfWorkManager.Begin()) { //var queryableAsync = await _repository.GetQueryableAsync(); //var items = queryableAsync.Include(o => o.SysParms).ThenInclude(o => o.SysParmValues). // Where(o => o.Id == "doctor_check_rule").ToList(); var item = await _repository.GetAsync(o => o.Id == "doctor_check_rule"); _output.WriteLine(item.Id + item.DisplayName); } } [Fact] public async Task GetByIdNoUnitOfWork() { var item = await _repository.GetAsync(o => o.Id == "doctor_check_rule"); _output.WriteLine(item.Id + item.DisplayName); } [Fact] public async Task GetListByIdAsync() { using (var uow = _unitOfWorkManager.Begin()) { //var queryableAsync = await _repository.GetQueryableAsync(); //var items = queryableAsync.Include(o => o.SysParms).ThenInclude(o => o.SysParmValues). // Where(o => o.Id == "doctor_check_rule").ToList(); var items = _repository.GetQueryableAsync().GetAwaiter().GetResult(). Include(o => o.SysParms).ThenInclude(o => o.SysParmValues). Where(o => o.Id == "doctor_check_rule").ToList(); items.ForEach(o => { _output.WriteLine(o.Id + o.DisplayName.ToString()); foreach (var item in o.SysParms) { _output.WriteLine("SysParms " + item.Id + " " + item.DisplayName); foreach (var item2 in item.SysParmValues) { _output.WriteLine("SysParmValues " + item2.MedicalCenterId.ToString() + " " + item2.ParmValue); } } }); } } [Fact] public async Task GetListByIdNoUnitOfWorkAsync() { //var queryableAsync = await _repository.GetQueryableAsync(); //var items = queryableAsync.Include(o => o.SysParms).ThenInclude(o => o.SysParmValues). // Where(o => o.Id == "doctor_check_rule").ToList(); try { var items = _repository.GetQueryableAsync().GetAwaiter().GetResult(). Include(o => o.SysParms).ThenInclude(o => o.SysParmValues). Where(o => o.Id == "doctor_check_rule").ToList(); items.ForEach(o => { _output.WriteLine(o.Id + o.DisplayName.ToString()); foreach (var item in o.SysParms) { _output.WriteLine("SysParms " + item.Id + " " + item.DisplayName); foreach (var item2 in item.SysParmValues) { _output.WriteLine("SysParmValues " + item2.MedicalCenterId.ToString() + " " + item2.ParmValue); } } }); } catch (Exception ex) { _output.WriteLine(ex.Message); } } } }