Beispiel #1
0
        public async Task <ActionResult <Order> > PlaceOrder([FromBody] Basket basket)
        {
            //updated order model
            var orderModel    = new Models.Order();
            var discountModel = await _discountRepository.ReadActiveDiscountAsync();

            if (discountModel != null)
            {
                orderModel = basket.ToOrderModel(discountModel.ToDiscountViewModel());
            }
            else
            {
                orderModel = basket.ToOrderModel();
            }
            orderModel.Discount = discountModel;
            //orderModel = discountModel.ToOrderModel(orderModel);
            await _ordersRepository.SaveAsync(orderModel);

            await _basketsRepository.ResetBasketAsync();

            var updatedOrder = CreatedAtAction(
                nameof(GetOrder),
                new { orderModel.ID },
                orderModel.ToOrderViewModel());
            await _discountRepository.SaveDiscountMasterAsync(discountModel);

            return(updatedOrder);
        }
Beispiel #2
0
        public async Task <ActionResult <Order> > PlaceOrder([FromBody] Basket basket)
        {
            var orderModel = basket.ToOrderModel();
            await _ordersRepository.SaveAsync(orderModel);

            await _basketsRepository.ResetBasketAsync();

            return(CreatedAtAction(
                       nameof(GetOrder),
                       new { orderModel.ID },
                       orderModel.ToOrderViewModel()));
        }
Beispiel #3
0
 public Task ResetBasketAsync()
 {
     return(basketsRepository.ResetBasketAsync());
 }