Example #1
0
        public async Task <ActionResult <CheckoutUnitDto> > AddUnit(CheckoutUnitDto checkoutUnitDto)
        {
            var checkout = await _checkoutService.GetOrCreateCheckout(checkoutUnitDto.CheckoutId);

            var totalUnits = await _checkoutService.AddUnits(checkout, checkoutUnitDto.SkuId, checkoutUnitDto.NumberOfUnits);

            var totalPrice = await _skuService.CalculatePrice(checkout.Date, checkoutUnitDto.SkuId, totalUnits);

            return(CreatedAtAction(nameof(AddUnit), new { id = checkout.Id },
                                   new CheckoutUnitDto()
            {
                CheckoutId = checkout.Id, SkuId = checkoutUnitDto.SkuId, NumberOfUnits = totalUnits, TotalPrice = totalPrice
            }));
        }