Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

InsurersController.cs 2.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. namespace Diligent.WebAPI.Host.Controllers.V1
  2. {
  3. [ExcludeFromCodeCoverage]
  4. [ApiVersion("1.0")]
  5. [ApiController]
  6. [Route("v{version:apiVersion}/insurers")]
  7. public class InsurersController : ControllerBase
  8. {
  9. private readonly IInsurersService _insurersService;
  10. public InsurersController(IInsurersService insurers)
  11. {
  12. _insurersService = insurers;
  13. }
  14. /// <summary>
  15. /// Get list of all insusers
  16. /// </summary>
  17. [HttpGet]
  18. [ProducesResponseType(typeof(List<InsurerViewDto>), StatusCodes.Status200OK)]
  19. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  20. public async Task<IActionResult> GetInsurers()
  21. {
  22. return Ok(await _insurersService.GetInsurers());
  23. }
  24. /// <summary>
  25. /// Get insurer by id
  26. /// </summary>
  27. [HttpGet("{id}")]
  28. [ProducesResponseType(typeof(InsurerViewDto), StatusCodes.Status200OK)]
  29. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  30. [ProducesResponseType(StatusCodes.Status404NotFound)]
  31. public async Task<IActionResult> GetInsurer(long id)
  32. {
  33. return Ok(await _insurersService.GetInsurer(id));
  34. }
  35. /// <summary>
  36. /// Create insurer
  37. /// </summary>
  38. [HttpPost]
  39. [ProducesResponseType(StatusCodes.Status201Created)]
  40. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  41. public async Task<IActionResult> CreateInsurer([FromBody] InsurerCreateDto insurerCreateDto)
  42. {
  43. await _insurersService.CreateInsurer(insurerCreateDto);
  44. return StatusCode((int)HttpStatusCode.Created);
  45. }
  46. /// <summary>
  47. /// Update insurer
  48. /// </summary>
  49. [HttpPut("{id}")]
  50. [ProducesResponseType(StatusCodes.Status200OK)]
  51. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  52. [ProducesResponseType(StatusCodes.Status404NotFound)]
  53. public async Task<IActionResult> UpdateInsurer(long id, [FromBody] InsurerUpdateDto insurerUpdateDto)
  54. {
  55. await _insurersService.UpdateInsurer(id, insurerUpdateDto);
  56. return Ok();
  57. }
  58. /// <summary>
  59. /// Delete insurer
  60. /// </summary>
  61. [HttpDelete("{id}")]
  62. [ProducesResponseType(StatusCodes.Status204NoContent)]
  63. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  64. [ProducesResponseType(StatusCodes.Status404NotFound)]
  65. public async Task<IActionResult> DeleteInsurer(long insurerId)
  66. {
  67. await _insurersService.DeleteInsurerAsync(insurerId);
  68. return NoContent();
  69. }
  70. }
  71. }