8 changed files with 306 additions and 11 deletions
-
10src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterAnswerDto.cs
-
10src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterItemDto.cs
-
144src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs
-
6src/Shentun.WebPeis.Domain/Models/QuestionAnswer.cs
-
9src/Shentun.WebPeis.Domain/Models/QuestionRegister.cs
-
65src/Shentun.WebPeis.Domain/QuestionRegisters/QuestionRegisterManager.cs
-
59test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs
-
14test/Shentun.WebPeis.EntityFrameworkCore.Tests/EntityFrameworkCore/Applications/EfcoreQuestionRegisterAppServiceTest.cs
@ -0,0 +1,65 @@ |
|||
using Shentun.WebPeis.Models; |
|||
using Shentun.WebPeis.Persons; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Domain.Repositories; |
|||
using Volo.Abp.Domain.Services; |
|||
|
|||
namespace Shentun.WebPeis.QuestionRegisters |
|||
{ |
|||
public class QuestionRegisterManager : DomainService |
|||
{ |
|||
private readonly IRepository<QuestionRegisterItem> _questionRegisterItemRepository; |
|||
private readonly IRepository<QuestionRegisterAnswer> _questionRegisterAnswerRrepository; |
|||
private readonly IRepository<Question> _questionRepository; |
|||
private readonly IRepository<QuestionAnswer> _questionAnswerRepository; |
|||
public QuestionRegisterManager(IRepository<QuestionRegisterItem> questionRegisterItemRepository, |
|||
IRepository<QuestionRegisterAnswer> questionRegisterAnswerRrepository, |
|||
IRepository<Question> questionRepository, |
|||
IRepository<QuestionAnswer> questionAnswerRepository) |
|||
{ |
|||
_questionRegisterItemRepository = questionRegisterItemRepository; |
|||
_questionRegisterAnswerRrepository = questionRegisterAnswerRrepository; |
|||
_questionRepository = questionRepository; |
|||
_questionAnswerRepository = questionAnswerRepository; |
|||
} |
|||
|
|||
public async Task<QuestionRegister> CreateAsync( |
|||
QuestionRegister entity) |
|||
{ |
|||
if (entity.PersonId == Guid.Empty) |
|||
{ |
|||
throw new UserFriendlyException("PersonId不能为空"); |
|||
} |
|||
entity.QuestionRegisterId = GuidGenerator.Create(); |
|||
//var questions = await _questionRepository.GetListAsync(o => o.IsActive == 'Y');
|
|||
//var questionAnswers = await _questionAnswerRepository.GetListAsync();
|
|||
//foreach (var question in questions)
|
|||
//{
|
|||
// var questionRegisterItem = new QuestionRegisterItem()
|
|||
// {
|
|||
// QuestionRegisterItemId = GuidGenerator.Create(),
|
|||
// QuestionRegisterId = entity.QuestionRegisterId,
|
|||
// QuestionId = question.QuestionId,
|
|||
// };
|
|||
// foreach (var questionAnswer in questionAnswers)
|
|||
// {
|
|||
// var questionRegisterAnswer = new QuestionRegisterAnswer()
|
|||
// {
|
|||
// QuestionRegisterAnswerId = GuidGenerator.Create(),
|
|||
// QuestionRegisterItemId = questionRegisterItem.QuestionRegisterItemId,
|
|||
// QuestionAnswerId = questionAnswer.QuestionAnswerId,
|
|||
// };
|
|||
// questionRegisterItem.QuestionRegisterAnswers.Add(questionRegisterAnswer);
|
|||
// }
|
|||
// entity.QuestionRegisterItems.Add(questionRegisterItem);
|
|||
|
|||
//}
|
|||
return entity; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,59 @@ |
|||
using Shentun.WebPeis.Asbitems; |
|||
using Shentun.WebPeis.Models; |
|||
using Shentun.WebPeis.Persons; |
|||
using Shentun.WebPeis.QuestionRegisters; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Domain.Repositories; |
|||
using Volo.Abp.Modularity; |
|||
using Volo.Abp.Uow; |
|||
using Xunit; |
|||
using Xunit.Abstractions; |
|||
|
|||
namespace Shentun.WebPeis |
|||
{ |
|||
public class QuestionRegisterAppServiceTest<TStartupModule> : WebPeisApplicationTestBase<TStartupModule> |
|||
where TStartupModule : IAbpModule |
|||
{ |
|||
private readonly IRepository<QuestionRegister> _repository; |
|||
private readonly QuestionRegisterAppService _appService; |
|||
private readonly ITestOutputHelper _output; |
|||
private readonly IUnitOfWorkManager _unitOfWorkManager; |
|||
public QuestionRegisterAppServiceTest(ITestOutputHelper output) |
|||
{ |
|||
_unitOfWorkManager = GetRequiredService<IUnitOfWorkManager>(); |
|||
_repository = GetRequiredService<IRepository<QuestionRegister>>(); |
|||
_appService = GetRequiredService<QuestionRegisterAppService>(); |
|||
_output = output; |
|||
} |
|||
|
|||
[Fact] |
|||
public async Task GetByPersonId() |
|||
{ |
|||
using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true)) |
|||
{ |
|||
|
|||
var entity = await _appService.GetByPersonIdAsync(new PersonIdInputDto() |
|||
{ |
|||
PersonId = new Guid("3a12d7fa-63f1-d549-c2f8-01123e5b7a8a") |
|||
}); |
|||
foreach (var item in entity.QuestionRegisterItems) |
|||
{ |
|||
_output.WriteLine("-----------" + item.QuestionName); |
|||
foreach (var answer in item.QuestionRegisterAnswers) |
|||
{ |
|||
_output.WriteLine(answer.QuestionAnswerName); |
|||
foreach(var childAnswer in answer.Childs) |
|||
{ |
|||
_output.WriteLine("----"+childAnswer.QuestionAnswerName); |
|||
} |
|||
} |
|||
} |
|||
await unitOfWork.CompleteAsync(); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using Xunit.Abstractions; |
|||
|
|||
namespace Shentun.WebPeis.EntityFrameworkCore.Applications |
|||
{ |
|||
public class EfcoreQuestionRegisterAppServiceTest : QuestionRegisterAppServiceTest<WebPeisEntityFrameworkCoreTestModule> |
|||
{ |
|||
public EfcoreQuestionRegisterAppServiceTest(ITestOutputHelper output) : base(output) { } |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue