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.

InsuranceCompaniesService.cs 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. namespace Diligent.WebAPI.Business.Services
  2. {
  3. [ExcludeFromCodeCoverage]
  4. public class InsuranceCompaniesService : IInsuranceCompaniesService
  5. {
  6. private readonly DatabaseContext _context;
  7. private readonly IMapper _mapper;
  8. public InsuranceCompaniesService(DatabaseContext context, IMapper mapper)
  9. {
  10. _context = context;
  11. _mapper = mapper;
  12. }
  13. public async Task<List<InsuranceCompanyViewDto>> GetInsuranceCompanies()
  14. {
  15. var insuranceCompanies = await _context.InsuranceCompanies.ToListAsync();
  16. var insuranceCompaniesDto = _mapper.Map<List<InsuranceCompanyViewDto>>(insuranceCompanies);
  17. return insuranceCompaniesDto;
  18. }
  19. public async Task<InsuranceCompanyViewDto?> GetInsuranceCompany(long id)
  20. {
  21. var insuranceCompany = await _context.InsuranceCompanies.FindAsync(id);
  22. if (insuranceCompany == null)
  23. throw new EntityNotFoundException("Insurance company not found");
  24. var insuranceCompanyDto = _mapper.Map<InsuranceCompanyViewDto?>(insuranceCompany);
  25. return insuranceCompanyDto;
  26. }
  27. public async Task CreateInsuranceCompany(InsuranceCompanyCreateDto insuranceCompanyCreateDto)
  28. {
  29. var insuranceCompany = _mapper.Map<InsuranceCompany>(insuranceCompanyCreateDto);
  30. insuranceCompany.CreatedAtUtc = DateTime.Now;
  31. await _context.InsuranceCompanies.AddAsync(insuranceCompany);
  32. await _context.SaveChangesAsync();
  33. }
  34. public async Task UpdateInsuranceCompany(long insuranceCompanyId, InsuranceCompanyUpdateDto insuranceCompanyUpdateDto)
  35. {
  36. var insuranceCompany = _context.InsuranceCompanies.Find(insuranceCompanyId);
  37. if (insuranceCompany == null)
  38. throw new EntityNotFoundException($"Insurance company not found");
  39. _mapper.Map(insuranceCompanyUpdateDto, insuranceCompany);
  40. insuranceCompany.UpdatedAtUtc = DateTime.Now;
  41. _context.Entry(insuranceCompany).State = EntityState.Modified;
  42. await _context.SaveChangesAsync();
  43. }
  44. public async Task DeleteInsuranceCompany(long insuranceCompanyId)
  45. {
  46. var insuranceCompany = _context.InsuranceCompanies.Find(insuranceCompanyId);
  47. if (insuranceCompany == null)
  48. throw new EntityNotFoundException("Insurance company not found");
  49. _context.Remove(insuranceCompany);
  50. await _context.SaveChangesAsync();
  51. }
  52. }
  53. }