本文整理汇总了C#中System.ServiceModel.ChannelFactory.CreateOrderAsync方法的典型用法代码示例。如果您正苦于以下问题:C# ChannelFactory.CreateOrderAsync方法的具体用法?C# ChannelFactory.CreateOrderAsync怎么用?C# ChannelFactory.CreateOrderAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.ServiceModel.ChannelFactory
的用法示例。
在下文中一共展示了ChannelFactory.CreateOrderAsync方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
static void Main(string[] args)
{
Console.WriteLine("Press Enter to start");
Console.ReadLine();
ICustomerService customerService = new ChannelFactory<ICustomerService>("customerService").CreateChannel();
IOrderService orderService = new ChannelFactory<IOrderService>("orderService").CreateChannel();
using ((IDisposable)customerService)
using ((IDisposable)orderService)
{
try
{
// Get customers
Console.WriteLine("Customers:");
IEnumerable<Customer> customers = customerService.GetCustomersAsync().Result;
if (customers == null) return;
foreach (var c in customers)
PrintCustomer(c);
// Get orders for a customer
Console.WriteLine("\nGet customer orders {CustomerId}:");
string customerId = Console.ReadLine();
if (!customers.Any(c => string.Equals(c.CustomerId, customerId, StringComparison.OrdinalIgnoreCase)))
{
Console.WriteLine("Invalid customer id: {0}", customerId.ToUpper());
return;
}
IEnumerable<Order> orders = orderService.GetCustomerOrdersAsync(customerId).Result;
foreach (var o in orders)
PrintOrder(o);
// Get an order
Console.WriteLine("\nGet an order {OrderId}:");
int orderId = int.Parse(Console.ReadLine());
if (!orders.Any(o => o.OrderId == orderId))
{
Console.WriteLine("Invalid order id: {0}", orderId);
return;
}
Order order = orderService.GetOrderAsync(orderId).Result;
PrintOrderWithDetails(order);
// Create a new order
Console.WriteLine("\nPress Enter to create a new order for {0}",
customerId.ToUpper());
Console.ReadLine();
var newOrder = new Order
{
CustomerId = customerId,
OrderDate = DateTime.Today,
ShippedDate = DateTime.Today.AddDays(1),
OrderDetails = new ChangeTrackingCollection<OrderDetail>
{
new OrderDetail { ProductId = 1, Quantity = 5, UnitPrice = 10 },
new OrderDetail { ProductId = 2, Quantity = 10, UnitPrice = 20 },
new OrderDetail { ProductId = 4, Quantity = 40, UnitPrice = 40 }
}
};
var createdOrder = orderService.CreateOrderAsync(newOrder).Result;
PrintOrderWithDetails(createdOrder);
// Update the order
Console.WriteLine("\nPress Enter to update order details");
Console.ReadLine();
// Start change-tracking the order
var changeTracker = new ChangeTrackingCollection<Order>(createdOrder);
// Modify order details
createdOrder.OrderDetails[0].UnitPrice++;
createdOrder.OrderDetails.RemoveAt(1);
createdOrder.OrderDetails.Add(new OrderDetail
{
OrderId = createdOrder.OrderId,
ProductId = 3,
Quantity = 15,
UnitPrice = 30
});
// Submit changes
Order changedOrder = changeTracker.GetChanges().SingleOrDefault();
Order updatedOrder = orderService.UpdateOrderAsync(changedOrder).Result;
// Merge changes
changeTracker.MergeChanges(updatedOrder);
Console.WriteLine("Updated order:");
PrintOrderWithDetails(createdOrder);
// Delete the order
Console.WriteLine("\nPress Enter to delete the order");
Console.ReadLine();
bool deleted = orderService.DeleteOrderAsync(createdOrder.OrderId).Result;
// Verify order was deleted
Order deletedOrder = orderService.GetOrderAsync(createdOrder.OrderId).Result;
Console.WriteLine(deleted && deletedOrder == null
? "Order was successfully deleted"
: "Order was not deleted");
//.........这里部分代码省略.........