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

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