Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

InsuranceCompaniesService.cs 2.5KB

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