Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

InsurancePoliciesController.cs 3.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. namespace Diligent.WebAPI.Host.Controllers.V1
  2. {
  3. [ExcludeFromCodeCoverage]
  4. [ApiVersion("1.0")]
  5. [ApiController]
  6. [Route("v{version:apiVersion}/insurance-policies")]
  7. public class InsurancePoliciesController : ControllerBase
  8. {
  9. private readonly IInsurancePoliciesService _insurancePoliciesService;
  10. private readonly IMapper _mapper;
  11. public InsurancePoliciesController(IInsurancePoliciesService insurancePoliciesService,
  12. IMapper mapper)
  13. {
  14. _insurancePoliciesService = insurancePoliciesService;
  15. _mapper = mapper;
  16. }
  17. /// <summary>
  18. /// Get list of all insurance policies
  19. /// </summary>
  20. [HttpGet]
  21. [ProducesResponseType(typeof(List<InsurancePolicyViewDto>), StatusCodes.Status200OK)]
  22. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  23. public async Task<IActionResult> GetInsurancePolicies()
  24. {
  25. return Ok(await _insurancePoliciesService.GetInsurancePolicies());
  26. }
  27. /// <summary>
  28. /// Get insurance policy by id
  29. /// </summary>
  30. [HttpGet("{id}")]
  31. [ProducesResponseType(typeof(InsurancePolicyViewDto), StatusCodes.Status200OK)]
  32. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  33. [ProducesResponseType(StatusCodes.Status404NotFound)]
  34. public async Task<ActionResult<InsurancePolicyViewDto>> GetInsurancePolicy(long id)
  35. {
  36. return Ok(await _insurancePoliciesService.GetInsurancePolicy(id));
  37. }
  38. /// <summary>
  39. /// Create insurance policy
  40. /// </summary>
  41. [HttpPost]
  42. [ProducesResponseType(StatusCodes.Status201Created)]
  43. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  44. public async Task<ActionResult> CreateInsurancePolicy(InsurancePolicyCreateDto InsurancePolicyCreateDto)
  45. {
  46. await _insurancePoliciesService.CreateInsurancePolicy(InsurancePolicyCreateDto);
  47. return StatusCode((int)HttpStatusCode.Created);
  48. }
  49. /// <summary>
  50. /// Update insurance policy
  51. /// </summary>
  52. [HttpPut("{id}")]
  53. [ProducesResponseType(StatusCodes.Status200OK)]
  54. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  55. [ProducesResponseType(StatusCodes.Status404NotFound)]
  56. public async Task<ActionResult> UpdateInsurancePolicy(long id, InsurancePolicyUpdateDto insurancePolicyUpdateDTO)
  57. {
  58. await _insurancePoliciesService.UpdateInsurancePolicy(id, insurancePolicyUpdateDTO);
  59. return Ok();
  60. }
  61. /// <summary>
  62. /// Delete the specific insurance policy
  63. /// </summary>
  64. [HttpDelete("{id}")]
  65. [ProducesResponseType(StatusCodes.Status204NoContent)]
  66. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  67. [ProducesResponseType(StatusCodes.Status404NotFound)]
  68. public async Task<ActionResult> DeleteInsurancePolicy(long id)
  69. {
  70. await _insurancePoliciesService.DeleteInsurancePolicy(id);
  71. return NoContent();
  72. }
  73. }
  74. }