| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- namespace Diligent.WebAPI.Host.Controllers.V2
- {
- [ExcludeFromCodeCoverage]
- [ApiVersion("2.0")]
- [ApiController]
- [Route("v{version:apiVersion}/insurance-companies")]
- public class InsuranceCompaniesController : ControllerBase
- {
- private readonly IInsuranceCompaniesService insuranceCompaniesService;
-
- public InsuranceCompaniesController(IInsuranceCompaniesService insuranceCompaniesService)
- {
- this.insuranceCompaniesService = insuranceCompaniesService;
- }
-
- /// <summary>
- /// Get list of all insurance companies
- /// </summary>
- [HttpGet]
- [ProducesResponseType(typeof(List<InsuranceCompanyViewDto>), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- public async Task<IActionResult> GetInsuranceCompanies()
- {
- return Ok(await insuranceCompaniesService.GetInsuranceCompanies());
- }
-
- /// <summary>
- /// Get insurance company by id
- /// </summary>
- [HttpGet("{id}")]
- [ProducesResponseType(typeof(InsuranceCompanyViewDto), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status404NotFound)]
- public async Task<IActionResult> GetInsuranceCompany(long id)
- {
- return Ok(await insuranceCompaniesService.GetInsuranceCompany(id));
- }
-
- /// <summary>
- /// Create insurance company
- /// </summary>
- [HttpPost]
- [ProducesResponseType(typeof(InsuranceCompanyViewDto), StatusCodes.Status201Created)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- public async Task<IActionResult> CreateInsuranceCompany([FromBody] InsuranceCompanyCreateDto insuranceCompanyCreateDto)
- {
- await insuranceCompaniesService.CreateInsuranceCompany(insuranceCompanyCreateDto);
- return StatusCode((int)HttpStatusCode.Created);
- }
-
- /// <summary>
- /// Update insurance company
- /// </summary>
- [HttpPut("{id}")]
- [ProducesResponseType(StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status404NotFound)]
- public async Task<IActionResult> UpdateInsuranceCompany(long id, [FromBody] InsuranceCompanyUpdateDto insuranceCompanyUpdateDto)
- {
- await insuranceCompaniesService.UpdateInsuranceCompany(id, insuranceCompanyUpdateDto);
- return Ok();
- }
-
- /// <summary>
- /// Delete the specific insurance company
- /// </summary>
- [HttpDelete("{id}")]
- [ProducesResponseType(StatusCodes.Status204NoContent)]
- [ProducesResponseType(typeof(ErrorResponseDto), StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status404NotFound)]
- public async Task<IActionResult> DeleteInsuranceCompany(long id)
- {
- await insuranceCompaniesService.DeleteInsuranceCompany(id);
- return NoContent();
- }
- }
- }
|