Example #1
0
        public void SubmitOrderAndClearCart(UserCache pUserCache)
        {
            Order lOrder = new Order();
            lOrder.OrderDate = DateTime.Now;
            lOrder.Customer = pUserCache.Model;
            // NEWLY ADDED 
            lOrder.UserId = pUserCache.Model.Id;

            lOrder.Status = 0;

            foreach(OrderItem lItem in mOrderItems)
            {
                // NEWLY ADDED
                lItem.order_Id = lOrder.ExternalOrderId;
                lItem.MediaId = lItem.Media.Id;
                lItem.Media.Stocks.setMediaId(lItem.Media.Id);

                lOrder.OrderItems.Add(lItem);
            }

            OrderService.OrderServiceClient lOrderService = new OrderService.OrderServiceClient();

            lOrderService.SubmitOrder(lOrder);
            pUserCache.UpdateUserCache();
            Clear();
        }
Example #2
0
        public static async Task AddOrder(OrderService.OrderServiceClient client)
        {
            var order = new Order()
            {
                OrderNo  = "2020042301",
                Status   = 1,
                Payment  = 43141.98f,
                Products =
                {
                    new Order.Types.OrderProduct()
                    {
                        ProductTitle = "OnePlus 7T",
                        SkuTitle     = "256GB 蓝色",
                        Num          = 1,
                        UnitPrice    = 3600f
                    }
                },
                Address = new Order.Types.OrderAddress()
                {
                    Province = "广东省",
                    City     = "深圳市",
                    Districe = "南山区",
                    Detail   = "北科大厦7003",
                    Name     = "Jiamiao.x",
                    Mobile   = "13822113366"
                },
                OrderOwner = 100,
            };
            var response = await client.AddOrderAsync(order);

            Console.WriteLine($"接收到数据:{response}");
        }
Example #3
0
        static async Task Main(string[] args)
        {
            using var channel = GrpcChannel.ForAddress("https://localhost:5001");
            var client = new OrderService.OrderServiceClient(channel);

            var option = int.Parse(args[0]);

            switch (option)
            {
            case 0:
                await GetByOrderNoAsync(client);

                break;

            case 1:
                await GetByOwner(client);

                break;

            case 2:
                await AddOrder(client);

                break;

            case 3:
                await BatchAddOrder(client);

                break;
            }

            Console.WriteLine("==========END==========");
        }
Example #4
0
        public static async Task Run()
        {
            LoadLog4Net();

            Logger.Info("Consumer has been started");

            Logger.Info("Generating mock data");

            var data = LoadMockData();

            Logger.Info($"Connecting to grpc server at {Address}");

            var configuration = new ConfigurationBuilder()
                                .AddEnvironmentVariables()
                                .Build();

            var networkAddress = Address;

            if (configuration["DockerHost"] != null)
            {
                networkAddress = "docker.orderdomain.grpc.server:50051";
            }

            var channel = new Channel(networkAddress, ChannelCredentials.Insecure);

            var orderService = new OrderService.OrderServiceClient(channel);

            var stream = orderService.SendOrder();

            var requestTask = SendGrpcOrders(data, stream);

            var responseTask = ReceiveGrpcResponse(stream);

            Task.WaitAll(requestTask, responseTask);
        }
Example #5
0
 static void Main()
 {
     using (TransactionScope tx = new TransactionScope())
     {
         OrderService.IOrderService proxy = new OrderService.OrderServiceClient();
         proxy.StartPlaceOrder("Order1");
         proxy.AddOrderItem("Parrot", 2);
         proxy.AddOrderItem("Dog", 3);
         proxy.FinishedPlaceOrder();
         Cleanup(proxy);
         tx.Complete();
     }
 }
Example #6
0
        public override OrderEntity GetById(int id)
        {
            Console.WriteLine("--> Using WCF to Fetch Order " + id);
            var dto =
                new OrderService.OrderServiceClient().GetDataUsingDataContract(id);

            return(new OrderEntity()
            {
                Id = dto.Id,
                CustomerId = dto.CustomerId,
                OrderDetails = dto.OrderItems,
                OrderDate = dto.OrderDate
            });
        }
Example #7
0
        public static async Task GetByOrderNoAsync(OrderService.OrderServiceClient client)
        {
            var metaData = new Metadata()
            {
                { "userName", "jiamiao.x" },
                { "clientName", "GrpcClientDemo" }
            };
            var response = await client.GetByOrderNoAsync(new GetByOrderNoRequest()
            {
                OrderNo = "2020042201"
            }, metaData);

            Console.WriteLine($"接收到数据:{response}");
        }
Example #8
0
        public static async Task GetByOwner(OrderService.OrderServiceClient client)
        {
            var response = client.GetByOwner(new GetByOwnerRequest()
            {
                OrderOwner = 100
            });
            var responseStream = response.ResponseStream;

            while (await responseStream.MoveNext())
            {
                Console.WriteLine($"接收到数据:{responseStream.Current}");
            }

            Console.WriteLine($"数据接收完毕");
        }
Example #9
0
        public void SubmitOrderAndClearCart(UserCache pUserCache)
        {
            Order lOrder = new Order();
            lOrder.OrderDate = DateTime.Now;
            lOrder.Customer = pUserCache.Model;
            lOrder.Status = 0;
            foreach(OrderItem lItem in mOrderItems)
            {
                lOrder.OrderItems.Add(lItem);
            }

            OrderService.OrderServiceClient lOrderService = new OrderService.OrderServiceClient();

            lOrderService.SubmitOrder(lOrder);
            pUserCache.UpdateUserCache();
            Clear();
        }
Example #10
0
File: Cart.cs Project: agaw/aurora
        public void SubmitOrderAndClearCart(UserCache pUserCache)
        {
            Order lOrder = new Order();
            lOrder.OrderDate = DateTime.Now;
            lOrder.Customer = pUserCache.Model;
            foreach(OrderItem lItem in mOrderItems)
            {
                lOrder.OrderItems.Add(lItem);
            }
            lOrder.Total = Convert.ToDouble(ComputeTotalValue());

            OrderService.OrderServiceClient lOrderService = new OrderService.OrderServiceClient();

            lOrderService.SubmitOrder(lOrder);
            pUserCache.UpdateUserCache();
            Clear();
        }
Example #11
0
File: Cart.cs Project: agaw/aurora
        public void SubmitOrderAndClearCart(UserCache pUserCache)
        {
            Order lOrder = new Order();

            lOrder.OrderDate = DateTime.Now;
            lOrder.Customer  = pUserCache.Model;
            foreach (OrderItem lItem in mOrderItems)
            {
                lOrder.OrderItems.Add(lItem);
            }
            lOrder.Total = Convert.ToDouble(ComputeTotalValue());

            OrderService.OrderServiceClient lOrderService = new OrderService.OrderServiceClient();

            lOrderService.SubmitOrder(lOrder);
            pUserCache.UpdateUserCache();
            Clear();
        }
Example #12
0
 public OrderGrpcRepository(OrderService.OrderServiceClient client) => _client = client;
Example #13
0
 public OrdersController(OrderService.OrderServiceClient orders, ILogger <OrdersController> log)
 {
     _orders = orders;
     _log    = log;
 }
        static OrderServiceClient()
        {
            var channel = ServiceClientHelper.GetChannelByApiName("OrderApi");

            Client = new OrderService.OrderServiceClient(channel);
        }
Example #15
0
        public static async Task BatchAddOrder(OrderService.OrderServiceClient client)
        {
            var orders = new List <Order>()
            {
                new Order()
                {
                    OrderNo  = "2020042301",
                    Status   = 1,
                    Payment  = 3600f,
                    Products =
                    {
                        new Order.Types.OrderProduct()
                        {
                            ProductTitle = "OnePlus 7T",
                            SkuTitle     = "256GB 蓝色",
                            Num          = 1,
                            UnitPrice    = 3600f
                        }
                    },
                    Address = new Order.Types.OrderAddress()
                    {
                        Province = "广东省",
                        City     = "深圳市",
                        Districe = "南山区",
                        Detail   = "北科大厦7003",
                        Name     = "Jiamiao.x",
                        Mobile   = "13822113366"
                    },
                    OrderOwner = 100,
                },
                new Order()
                {
                    OrderNo  = "2020042302",
                    Status   = 1,
                    Payment  = 13999.99f,
                    Products =
                    {
                        new Order.Types.OrderProduct()
                        {
                            ProductTitle = "SONY PS4 Pro",
                            SkuTitle     = "1TB 黑色",
                            Num          = 1,
                            UnitPrice    = 3999.99f
                        },
                        new Order.Types.OrderProduct()
                        {
                            ProductTitle = "Surface Desktop Pro",
                            SkuTitle     = "1TB 白色",
                            Num          = 1,
                            UnitPrice    = 13999.99f
                        }
                    },
                    Address = new Order.Types.OrderAddress()
                    {
                        Province = "广东省",
                        City     = "深圳市",
                        Districe = "南山区",
                        Detail   = "北科大厦7003",
                        Name     = "Jiamiao.x",
                        Mobile   = "13822113366"
                    },
                    OrderOwner = 100,
                }
            };
            var call = client.BatchAddOrder();

            foreach (var order in orders)
            {
                await call.RequestStream.WriteAsync(order);
            }

            await call.RequestStream.CompleteAsync();

            Console.WriteLine("----数据发送完毕----");
            await Task.Run(async() =>
            {
                while (await call.ResponseStream.MoveNext())
                {
                    Console.WriteLine($"接收到消息:{call.ResponseStream.Current}");
                }
            });
        }
Example #16
0
 public Worker(OrderService.OrderServiceClient orders, ILogger <Worker> logger)
 {
     _orders = orders;
     _logger = logger;
 }