PractitionerApplication.cs 1.2 KB

123456789101112131415161718192021222324252627282930
  1. using Hotline.Settings;
  2. using Mapster;
  3. using SnapshotWinFormsApp.Application.Dtos;
  4. using SnapshotWinFormsApp.Application.Interfaces;
  5. using SnapshotWinFormsApp.Entities.NewHotline;
  6. using SnapshotWinFormsApp.Entities.OldHotline;
  7. using SnapshotWinFormsApp.Repository;
  8. using SnapshotWinFormsApp.Repository.Interfaces;
  9. using System.ComponentModel;
  10. namespace SnapshotWinFormsApp.Application;
  11. [Description("区域从业人员")]
  12. public class PractitionerApplication : ImportApplicationBase<SSP_AreaUserEntity, Practitioner, string>, IImportApplication
  13. {
  14. private readonly ISelectRepository<SystemArea> _systemAreaRepo;
  15. private IList<SystemArea> areas;
  16. public PractitionerApplication(CreateInstanceInDto inDto) : base(inDto)
  17. {
  18. _systemAreaRepo = new SelectRepository<SystemArea>(inDto);
  19. areas = _systemAreaRepo.GetAll();
  20. }
  21. public override async Task<Practitioner> GetTargetAsync(SSP_AreaUserEntity source, CancellationToken token)
  22. {
  23. var target = source.Adapt<Practitioner>();
  24. target.SystemAreaId = areas.FirstOrDefault(m => m.AreaName == source.AreaName)?.Id ?? string.Empty;
  25. return await Task.FromResult(target);
  26. }
  27. }