40 lines
1.2 KiB
C#
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);
|
|
}
|
|
}
|
|
} |