您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

InsurancePoliciesController.cs 3.2KB

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