You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
4.7 KiB

11 months ago
11 months ago
  1. using Microsoft.EntityFrameworkCore;
  2. using NPOI.SS.Formula.Functions;
  3. using Shentun.Pacs.GuidTypes;
  4. using Shentun.Pacs.Models;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using Volo.Abp.Domain.Repositories;
  11. using Volo.Abp.Uow;
  12. using Xunit;
  13. using Xunit.Abstractions;
  14. namespace Shentun.Pacs
  15. {
  16. public class SysParmTypeManagerTest : PeisDomainTestBase
  17. {
  18. private readonly IRepository<SysParmType> _repository;
  19. private readonly GuideTypeManager _manager;
  20. //private readonly IDbContextProvider<PeisDbContext> _dbContextProvider;
  21. private readonly ITestOutputHelper _output;
  22. private readonly IRepository<ItemType, Guid> _itemTypeRepository;
  23. private readonly IUnitOfWorkManager _unitOfWorkManager;
  24. public SysParmTypeManagerTest(ITestOutputHelper output)
  25. {
  26. _output = output;
  27. _repository = GetRequiredService<IRepository<SysParmType>>();
  28. _itemTypeRepository = GetRequiredService<IRepository<ItemType, Guid>>();
  29. _manager = GetRequiredService<GuideTypeManager>();
  30. _unitOfWorkManager = GetRequiredService<IUnitOfWorkManager>();
  31. }
  32. [Fact]
  33. public async Task GetListAsync()
  34. {
  35. var items = await _repository.GetListAsync();
  36. items.ForEach(o =>
  37. {
  38. _output.WriteLine(o.Id + o.DisplayName.ToString());
  39. });
  40. }
  41. [Fact]
  42. public async Task GetByIdAsync()
  43. {
  44. using (var uow = _unitOfWorkManager.Begin())
  45. {
  46. //var queryableAsync = await _repository.GetQueryableAsync();
  47. //var items = queryableAsync.Include(o => o.SysParms).ThenInclude(o => o.SysParmValues).
  48. // Where(o => o.Id == "doctor_check_rule").ToList();
  49. var item = await _repository.GetAsync(o => o.Id == "doctor_check_rule");
  50. _output.WriteLine(item.Id + item.DisplayName);
  51. }
  52. }
  53. [Fact]
  54. public async Task GetByIdNoUnitOfWork()
  55. {
  56. var item = await _repository.GetAsync(o => o.Id == "doctor_check_rule");
  57. _output.WriteLine(item.Id + item.DisplayName);
  58. }
  59. [Fact]
  60. public async Task GetListByIdAsync()
  61. {
  62. using (var uow = _unitOfWorkManager.Begin())
  63. {
  64. //var queryableAsync = await _repository.GetQueryableAsync();
  65. //var items = queryableAsync.Include(o => o.SysParms).ThenInclude(o => o.SysParmValues).
  66. // Where(o => o.Id == "doctor_check_rule").ToList();
  67. var items = _repository.GetQueryableAsync().GetAwaiter().GetResult().
  68. Include(o => o.SysParms).ThenInclude(o => o.SysParmValues).
  69. Where(o => o.Id == "doctor_check_rule").ToList();
  70. items.ForEach(o =>
  71. {
  72. _output.WriteLine(o.Id + o.DisplayName.ToString());
  73. foreach (var item in o.SysParms)
  74. {
  75. _output.WriteLine("SysParms " + item.Id + " " + item.DisplayName);
  76. foreach (var item2 in item.SysParmValues)
  77. {
  78. _output.WriteLine("SysParmValues " + item2.MedicalCenterId.ToString() + " " + item2.ParmValue);
  79. }
  80. }
  81. });
  82. }
  83. }
  84. [Fact]
  85. public async Task GetListByIdNoUnitOfWorkAsync()
  86. {
  87. //var queryableAsync = await _repository.GetQueryableAsync();
  88. //var items = queryableAsync.Include(o => o.SysParms).ThenInclude(o => o.SysParmValues).
  89. // Where(o => o.Id == "doctor_check_rule").ToList();
  90. try
  91. {
  92. var items = _repository.GetQueryableAsync().GetAwaiter().GetResult().
  93. Include(o => o.SysParms).ThenInclude(o => o.SysParmValues).
  94. Where(o => o.Id == "doctor_check_rule").ToList();
  95. items.ForEach(o =>
  96. {
  97. _output.WriteLine(o.Id + o.DisplayName.ToString());
  98. foreach (var item in o.SysParms)
  99. {
  100. _output.WriteLine("SysParms " + item.Id + " " + item.DisplayName);
  101. foreach (var item2 in item.SysParmValues)
  102. {
  103. _output.WriteLine("SysParmValues " + item2.MedicalCenterId.ToString() + " " + item2.ParmValue);
  104. }
  105. }
  106. });
  107. }
  108. catch (Exception ex)
  109. {
  110. _output.WriteLine(ex.Message);
  111. }
  112. }
  113. }
  114. }