using ReserveManagementSystemApi.Services; using ReserveManagementSystemLib.Models; namespace ReserveManagementSystemApi.Controllers { [Route("api/[controller]")] [ApiController] public class DealerController : ControllerBase { private readonly IDealerService _dealerService; public DealerController(IDealerService dealerService) { _dealerService = dealerService; } [HttpGet("Search/{dealerSearchText}", Name = "Search")] [ProducesResponseType(typeof(IEnumerable), 200)] [ProducesResponseType(500)] public async Task Search(string dealerSearchText) { try { var result = await _dealerService.Search(dealerSearchText); return Ok(result); } catch (Exception e) { Log.Error(e, "Failure returning dealers"); return StatusCode(StatusCodes.Status500InternalServerError); } } [HttpGet("GetByDealerCode/{dealerCode}", Name = "GetDealerByCode")] [ProducesResponseType(typeof(Dealer), 200)] [ProducesResponseType(500)] public async Task GetByDealerCode(string dealerCode) { try { var result = await _dealerService.GetDealerByCodeAsync(dealerCode); return Ok(result); } catch (Exception e) { Log.Error(e, "Failure returning dealer"); return StatusCode(StatusCodes.Status500InternalServerError); } } } }