コード例 #1
0
        public async Task <ActionResult <NOrders> > PostOrders(Orders order)
        {
            if (order.Pizzas.IsNullOrEmpty() && order.PreMadePizzaIds.IsNullOrEmpty() && order.SidesIds.IsNullOrEmpty())
            {
                return(UnprocessableEntity());
            }
            else
            {
                NOrders nOrder = new NOrders
                {
                    CustomerId = order.CustomerId,
                    OrderTime  = DateTime.Now //order.OrderTime,
                };
                await _orderRepo.Add(nOrder);

                if (order.Pizzas != null)
                {
                    foreach (var pizza in order.Pizzas)
                    {
                        NPizzas nPizza = new NPizzas
                        {
                            CheeseTypeId = pizza.CheeseTypesId,
                            CrustTypeId  = pizza.CrustTypesId,
                            SauceTypeId  = pizza.SauceTypesId,
                            Size         = pizza.Size,
                            Name         = pizza.Name
                        };
                        await _pizzaRepo.Add(nPizza);

                        await _orderRepo.Add(new OrderPizzas
                        {
                            NOrderId = nOrder.Id,
                            NPizzaId = nPizza.Id
                        });

                        if (pizza.ToppingsId != null)
                        {
                            foreach (var topping in pizza.ToppingsId)
                            {
                                await _pizzaRepo.Add(new PizzaToppings
                                {
                                    NPizzaId  = nPizza.Id,
                                    ToppingId = topping
                                });
                            }
                        }
                    }
                }
                if (order.SidesIds != null)
                {
                    foreach (var sideId in order.SidesIds)
                    {
                        OrderSides os = new OrderSides
                        {
                            NOrderId = nOrder.Id,
                            SideId   = sideId
                        };
                        await _orderRepo.Add(os);
                    }
                }
                if (order.PreMadePizzaIds != null)
                {
                    foreach (var PreMadePizzaId in order.PreMadePizzaIds)
                    {
                        OrderPreMadePizzas opmp = new OrderPreMadePizzas
                        {
                            NOrderId       = nOrder.Id,
                            PreMadePizzaId = PreMadePizzaId
                        };
                        await _orderRepo.Add(opmp);
                    }
                }
                return(CreatedAtAction("GetOrders", new { id = nOrder.Id }, nOrder.Id));
            }
        }
コード例 #2
0
        public async Task <ActionResult <NPizzas> > PostPizzas(NPizzas pizzas)
        {
            await _repo.Add(pizzas);

            return(CreatedAtAction("GetPizzas", new { id = pizzas.Id }, pizzas));
        }