101 lines
3.0 KiB
C#
101 lines
3.0 KiB
C#
using Housewives.Api.Entities;
|
|
using Housewives.Api.Extensions;
|
|
using Housewives.Api.Repositories.Contracts;
|
|
using Housewives.Models.Dtos;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace Housewives.Api.Controllers
|
|
{
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class HousewifeController : ControllerBase
|
|
{
|
|
private readonly IHousewifeRepository housewifeRepository;
|
|
|
|
public HousewifeController(IHousewifeRepository housewifeRepository)
|
|
{
|
|
this.housewifeRepository = housewifeRepository;
|
|
}
|
|
|
|
[HttpGet]
|
|
public async Task<ActionResult<IEnumerable<HousewifeDto>>> GetHousewives()
|
|
{
|
|
try
|
|
{
|
|
var housewives = await this.housewifeRepository.GetHousewives();
|
|
var quotes = await this.housewifeRepository.GetQuotes();
|
|
|
|
if (housewives == null || quotes == null)
|
|
{
|
|
return NotFound();
|
|
}
|
|
else
|
|
{
|
|
var housewifeDtos = housewives.ConvertToDto();
|
|
return Ok(housewifeDtos);
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
return StatusCode(StatusCodes.Status500InternalServerError,
|
|
"Error retrieving data from the database");
|
|
}
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route(nameof(GetQuotes))]
|
|
public async Task<ActionResult<IEnumerable<QuoteDto>>> GetQuotes()
|
|
{
|
|
try
|
|
{
|
|
var housewives = await this.housewifeRepository.GetHousewives();
|
|
var quotes = await this.housewifeRepository.GetQuotes();
|
|
|
|
if (housewives == null || quotes == null)
|
|
{
|
|
return NotFound();
|
|
}
|
|
else
|
|
{
|
|
var quoteDtos = quotes.ConvertToDto();
|
|
return Ok(quoteDtos);
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
return StatusCode(StatusCodes.Status500InternalServerError,
|
|
"Error retrieving data from the database");
|
|
}
|
|
}
|
|
|
|
[HttpGet("GetQuotesByHousewife")]
|
|
public async Task<ActionResult<IEnumerable<QuoteDto>>> GetQuotesById(int housewifeId)
|
|
{
|
|
try
|
|
{
|
|
var quotes = await this.housewifeRepository.GetQuotesById(housewifeId);
|
|
|
|
if (quotes == null)
|
|
{
|
|
return NotFound();
|
|
}
|
|
else
|
|
{
|
|
var quoteDtos = quotes.ConvertToDto();
|
|
return Ok(quoteDtos);
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
return StatusCode(StatusCodes.Status500InternalServerError,
|
|
"Error retrieving data from the database");
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|