示例#1
0
        private async Task <string> GetRawOrderLine(Order order, string rawOrderLine = "", string lastDishName = "", int lastDishCount = 1)
        {
            List <OrderDish> orderedDishes = await _orderDishRepository.GetOrderDishesByOrderID(order.Id);

            foreach (OrderDish orderDish in orderedDishes)
            {
                if (lastDishName == orderDish.dish.Name)
                {
                    lastDishCount++;
                }
                else
                {
                    if (lastDishCount > 1)
                    {
                        rawOrderLine += "(x" + lastDishCount + ")";
                        lastDishCount = 1;
                        rawOrderLine += rawOrderLine == "" ? orderDish.dish.Name : ", " + orderDish.dish.Name;
                    }
                    else
                    {
                        rawOrderLine += rawOrderLine == "" ? orderDish.dish.Name : ", " + orderDish.dish.Name;
                    }
                }

                lastDishName = orderDish.dish.Name;
                if ((orderedDishes.IndexOf(orderDish) == orderedDishes.Count - 1) && (lastDishCount > 1))
                {
                    rawOrderLine += "(x" + lastDishCount + ")";
                    lastDishCount = 1;
                }
            }
            return(rawOrderLine);
        }