Sky.Net/API/Controllers/BasketController.cs
2022-05-20 11:09:24 -07:00

40 lines
1.2 KiB
C#

using API.Dtos;
using AutoMapper;
using Core.Entities;
using Core.Interfaces;
using Microsoft.AspNetCore.Mvc;
namespace API.Controllers
{
public class BasketController : BaseApiController
{
private readonly IBasketRepository _basketRepository;
private readonly IMapper _mapper;
public BasketController(IBasketRepository basketRepository, IMapper mapper)
{
_mapper = mapper;
_basketRepository = basketRepository;
}
[HttpGet]
public async Task<ActionResult<CustomerBasket>> GetBasketById(string id)
{
var basket = await _basketRepository.GetBasketAsync(id);
return Ok(basket ?? new CustomerBasket(id));
}
[HttpPost]
public async Task<ActionResult<CustomerBasket>> UpdateBasket(CustomerBasketDto basket)
{
var customerBasket = _mapper.Map<CustomerBasketDto, CustomerBasket>(basket);
var updatedBasket = await _basketRepository.UpdateBasketAsync(customerBasket);
return Ok(updatedBasket);
}
[HttpDelete]
public async Task DeleteBasket(string id)
{
await _basketRepository.DeleteBasketAsysnc(id);
}
}
}