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.

InsuranceCompaniesController.cs 3.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. namespace Diligent.WebAPI.Host.Controllers.V2
  2. {
  3. [ExcludeFromCodeCoverage]
  4. [ApiVersion("2.0")]
  5. [ApiController]
  6. [Route("v{version:apiVersion}/insurance-companies")]
  7. public class InsuranceCompaniesController : ControllerBase
  8. {
  9. private readonly IInsuranceCompaniesService insuranceCompaniesService;
  10. public InsuranceCompaniesController(IInsuranceCompaniesService insuranceCompaniesService)
  11. {
  12. this.insuranceCompaniesService = insuranceCompaniesService;
  13. }
  14. /// <summary>
  15. /// Get list of all insurance companies
  16. /// </summary>
  17. [HttpGet]
  18. [ProducesResponseType(typeof(List<InsuranceCompanyViewDto>), StatusCodes.Status200OK)]
  19. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  20. public async Task<IActionResult> GetInsuranceCompanies()
  21. {
  22. return Ok(await insuranceCompaniesService.GetInsuranceCompanies());
  23. }
  24. /// <summary>
  25. /// Get insurance company by id
  26. /// </summary>
  27. [HttpGet("{id}")]
  28. [ProducesResponseType(typeof(InsuranceCompanyViewDto), StatusCodes.Status200OK)]
  29. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  30. [ProducesResponseType(StatusCodes.Status404NotFound)]
  31. public async Task<IActionResult> GetInsuranceCompany(long id)
  32. {
  33. return Ok(await insuranceCompaniesService.GetInsuranceCompany(id));
  34. }
  35. /// <summary>
  36. /// Create insurance company
  37. /// </summary>
  38. [HttpPost]
  39. [ProducesResponseType(typeof(InsuranceCompanyViewDto), StatusCodes.Status201Created)]
  40. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  41. public async Task<IActionResult> CreateInsuranceCompany([FromBody] InsuranceCompanyCreateDto insuranceCompanyCreateDto)
  42. {
  43. await insuranceCompaniesService.CreateInsuranceCompany(insuranceCompanyCreateDto);
  44. return StatusCode((int)HttpStatusCode.Created);
  45. }
  46. /// <summary>
  47. /// Update insurance company
  48. /// </summary>
  49. [HttpPut("{id}")]
  50. [ProducesResponseType(StatusCodes.Status200OK)]
  51. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  52. [ProducesResponseType(StatusCodes.Status404NotFound)]
  53. public async Task<IActionResult> UpdateInsuranceCompany(long id, [FromBody] InsuranceCompanyUpdateDto insuranceCompanyUpdateDto)
  54. {
  55. await insuranceCompaniesService.UpdateInsuranceCompany(id, insuranceCompanyUpdateDto);
  56. return Ok();
  57. }
  58. /// <summary>
  59. /// Delete the specific insurance company
  60. /// </summary>
  61. [HttpDelete("{id}")]
  62. [ProducesResponseType(StatusCodes.Status204NoContent)]
  63. [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
  64. [ProducesResponseType(StatusCodes.Status404NotFound)]
  65. public async Task<IActionResult> DeleteInsuranceCompany(long id)
  66. {
  67. await insuranceCompaniesService.DeleteInsuranceCompany(id);
  68. return NoContent();
  69. }
  70. }
  71. }