Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. namespace Diligent.WebAPI.Business.Services
  2. {
  3. [ExcludeFromCodeCoverage]
  4. public class InsurersService : IInsurersService
  5. {
  6. private readonly DatabaseContext _context;
  7. private readonly IMapper _mapper;
  8. public InsurersService(DatabaseContext context, IMapper mapper)
  9. {
  10. _context = context;
  11. _mapper = mapper;
  12. }
  13. public async Task<List<InsurerViewDto>> GetInsurers()
  14. {
  15. var insurers = await _context.Insurers.Include(x => x.InsuranceCompany).ToListAsync();
  16. return _mapper.Map<List<InsurerViewDto>>(insurers);
  17. }
  18. public async Task<InsurerViewDto?> GetInsurer(long id)
  19. {
  20. var insurer = await _context.Insurers
  21. .Include(x => x.InsuranceCompany)
  22. .FirstOrDefaultAsync(x => x.Id == id);
  23. if (insurer == null)
  24. throw new EntityNotFoundException("Insurer not found");
  25. return _mapper.Map<InsurerViewDto>(insurer);
  26. }
  27. public async Task CreateInsurer(InsurerCreateDto insurerCreateDto)
  28. {
  29. var insurer = _mapper.Map<Insurer>(insurerCreateDto);
  30. await _context.Insurers.AddAsync(insurer);
  31. await _context.SaveChangesAsync();
  32. }
  33. public async Task UpdateInsurer(long insurerId, InsurerUpdateDto insurerUpdateDto)
  34. {
  35. var insurer = _context.InsurancePolicies.Find(insurerId);
  36. if (insurer == null)
  37. throw new EntityNotFoundException("Insurer not found");
  38. _mapper.Map(insurerUpdateDto, insurer);
  39. insurer.UpdatedAtUtc = DateTime.Now;
  40. _context.Entry(insurer).State = EntityState.Modified;
  41. await _context.SaveChangesAsync();
  42. }
  43. public async Task DeleteInsurerAsync(long insurerId)
  44. {
  45. var insurer = _context.InsurancePolicies.Find(insurerId);
  46. if (insurer == null)
  47. throw new EntityNotFoundException("Insurer not found");
  48. _context.Remove(insurer);
  49. await _context.SaveChangesAsync();
  50. }
  51. }
  52. }