added SSCLI 1.0
[windows-sources.git] / sdk / samples / WCFSamples / TechnologySamples / Basic / Binding / MsmqIntegration / CustomDemux / CS / Order / Order.cs
blob3aa8cf8e6f3c68f5268aa326890fdf34415ea14a
1 // Copyright (c) Microsoft Corporation. All Rights Reserved.
3 using System;
4 using System.Text;
6 namespace Microsoft.ServiceModel.Samples
8 // Define the Purchase Order Line Item
9 [Serializable]
10 public class PurchaseOrderLineItem
13 public string productId;
14 public float unitCost;
15 public int quantity;
17 public override string ToString()
19 String displayString = "Order LineItem: " + quantity + " of " + productId + " @unit price: $" + unitCost + "\n";
20 return displayString;
23 public float TotalCost
25 get { return unitCost * quantity; }
29 public enum OrderStates
31 Pending,
32 Processed,
33 Shipped
36 // Define Purchase Order
37 [Serializable]
38 public class PurchaseOrder
40 public static string[] orderStates = { "Pending", "Processed", "Shipped" };
41 public string poNumber;
42 public string customerId;
43 public PurchaseOrderLineItem[] orderLineItems;
44 public OrderStates orderStatus;
46 public float TotalCost
48 get
50 float totalCost = 0;
51 foreach (PurchaseOrderLineItem lineItem in orderLineItems)
52 totalCost += lineItem.TotalCost;
53 return totalCost;
57 public OrderStates Status
59 get
61 return orderStatus;
63 set
65 orderStatus = value;
69 public override string ToString()
71 StringBuilder strbuf = new StringBuilder("Purchase Order: " + poNumber + "\n");
72 strbuf.Append("\tCustomer: " + customerId + "\n");
73 strbuf.Append("\tOrderDetails\n");
75 foreach (PurchaseOrderLineItem lineItem in orderLineItems)
77 strbuf.Append("\t\t" + lineItem.ToString());
80 strbuf.Append("\tTotal cost of this order: $" + TotalCost + "\n");
81 strbuf.Append("\tOrder status: " + Status + "\n");
82 return strbuf.ToString();