Exemplo n.º 1
0
        public async Task <IActionResult> CheckOut([FromBody] CheckOutApiModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            return(Ok(await manager.CheckOut(model)));
        }
Exemplo n.º 2
0
        public async Task <OrderARModel> CheckOut(CheckOutApiModel model)
        {
            var order = await this.orderRepository.GetById(model.OrderId.Value);

            if (order != null && order.Status.Equals("On-going"))
            {
                order.Status        = "Completed";
                order.TipPercentage = model.TipPercentage.Value;
                var foodTotal = Math.Round(order.Items.Where(c => !c.IsDeleted).Sum(c => c.FoodItem.Cost * c.Quantity), 2);
                var tipAmount = model.TipPercentage.Value > 0 ? Math.Round((model.TipPercentage.Value / 100) * foodTotal, 2) : 0;
                order.TotalAmount = Math.Round(foodTotal + tipAmount, 2);
                await this.orderRepository.Update(order);
            }

            return(ContructOrderReponseModel(order));
        }