示例#1
0
        public OrderService.Pizza ToGrpc()
        {
            var pizza = new OrderService.Pizza();

            pizza.Special = Special.ToGrpc();
            pizza.Size    = Size;
            pizza.Toppings.Add(Toppings.Select(t => t.ToGrpc()));
            return(pizza);
        }
示例#2
0
        private static OrderService.Order ToGrpc(Order order)
        {
            var grpc = new OrderService.Order();

            grpc.DeliveryAddress = new OrderService.Address()
            {
                Name       = order.DeliveryAddress.Name,
                Line1      = order.DeliveryAddress.Line1,
                Line2      = order.DeliveryAddress.Line2 ?? "",
                City       = order.DeliveryAddress.City,
                Region     = order.DeliveryAddress.Region,
                PostalCode = order.DeliveryAddress.PostalCode,
            };
            grpc.UserId = order.UserId;
            foreach (var pizza in order.Pizzas)
            {
                var grpcPizza = new OrderService.Pizza();
                grpcPizza.Size    = pizza.Size;
                grpcPizza.Special = new OrderService.PizzaSpecial()
                {
                    BasePrice = new Google.Type.Money()
                    {
                        DecimalValue = pizza.Special.BasePrice,
                    },
                    Name        = pizza.Special.Name,
                    Description = pizza.Special.Description,
                    ImageUrl    = pizza.Special.ImageUrl,
                };

                foreach (var topping in pizza.Toppings)
                {
                    var grpcTopping = new OrderService.Topping();
                    grpcTopping.Name  = topping.Topping.Name;
                    grpcTopping.Price = new Google.Type.Money()
                    {
                        DecimalValue = topping.Topping.Price,
                    };
                    grpcPizza.Toppings.Add(grpcTopping);
                }

                grpc.Pizzas.Add(grpcPizza);
            }

            return(grpc);
        }