//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.1
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This code was auto-generated by Microsoft.Silverlight.ServiceReference, version 4.0.50401.0
// 
namespace Hierarchy_WCFService.ServiceReference1 {
    using System.Runtime.Serialization;
    
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Customer", Namespace="http://schemas.datacontract.org/2004/07/Hierarchy_WCFService.Web", IsReference=true)]
    public partial class Customer : Hierarchy_WCFService.ServiceReference1.EntityObject {
        
        private string AddressField;
        
        private string CityField;
        
        private string CompanyNameField;
        
        private string ContactNameField;
        
        private string ContactTitleField;
        
        private string CountryField;
        
        private string CustomerIDField;
        
        private string FaxField;
        
        private System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Order> OrdersField;
        
        private string PhoneField;
        
        private string PostalCodeField;
        
        private string RegionField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Address {
            get {
                return this.AddressField;
            }
            set {
                if ((object.ReferenceEquals(this.AddressField, value) != true)) {
                    this.AddressField = value;
                    this.RaisePropertyChanged("Address");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string City {
            get {
                return this.CityField;
            }
            set {
                if ((object.ReferenceEquals(this.CityField, value) != true)) {
                    this.CityField = value;
                    this.RaisePropertyChanged("City");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string CompanyName {
            get {
                return this.CompanyNameField;
            }
            set {
                if ((object.ReferenceEquals(this.CompanyNameField, value) != true)) {
                    this.CompanyNameField = value;
                    this.RaisePropertyChanged("CompanyName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ContactName {
            get {
                return this.ContactNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ContactNameField, value) != true)) {
                    this.ContactNameField = value;
                    this.RaisePropertyChanged("ContactName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ContactTitle {
            get {
                return this.ContactTitleField;
            }
            set {
                if ((object.ReferenceEquals(this.ContactTitleField, value) != true)) {
                    this.ContactTitleField = value;
                    this.RaisePropertyChanged("ContactTitle");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Country {
            get {
                return this.CountryField;
            }
            set {
                if ((object.ReferenceEquals(this.CountryField, value) != true)) {
                    this.CountryField = value;
                    this.RaisePropertyChanged("Country");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string CustomerID {
            get {
                return this.CustomerIDField;
            }
            set {
                if ((object.ReferenceEquals(this.CustomerIDField, value) != true)) {
                    this.CustomerIDField = value;
                    this.RaisePropertyChanged("CustomerID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Fax {
            get {
                return this.FaxField;
            }
            set {
                if ((object.ReferenceEquals(this.FaxField, value) != true)) {
                    this.FaxField = value;
                    this.RaisePropertyChanged("Fax");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Order> Orders {
            get {
                return this.OrdersField;
            }
            set {
                if ((object.ReferenceEquals(this.OrdersField, value) != true)) {
                    this.OrdersField = value;
                    this.RaisePropertyChanged("Orders");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Phone {
            get {
                return this.PhoneField;
            }
            set {
                if ((object.ReferenceEquals(this.PhoneField, value) != true)) {
                    this.PhoneField = value;
                    this.RaisePropertyChanged("Phone");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string PostalCode {
            get {
                return this.PostalCodeField;
            }
            set {
                if ((object.ReferenceEquals(this.PostalCodeField, value) != true)) {
                    this.PostalCodeField = value;
                    this.RaisePropertyChanged("PostalCode");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Region {
            get {
                return this.RegionField;
            }
            set {
                if ((object.ReferenceEquals(this.RegionField, value) != true)) {
                    this.RegionField = value;
                    this.RaisePropertyChanged("Region");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="StructuralObject", Namespace="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses", IsReference=true)]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.EntityObject))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.Order))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.Customer))]
    public partial class StructuralObject : object, System.ComponentModel.INotifyPropertyChanged {
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="EntityObject", Namespace="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses", IsReference=true)]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.Order))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.Customer))]
    public partial class EntityObject : Hierarchy_WCFService.ServiceReference1.StructuralObject {
        
        private Hierarchy_WCFService.ServiceReference1.EntityKey EntityKeyField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Hierarchy_WCFService.ServiceReference1.EntityKey EntityKey {
            get {
                return this.EntityKeyField;
            }
            set {
                if ((object.ReferenceEquals(this.EntityKeyField, value) != true)) {
                    this.EntityKeyField = value;
                    this.RaisePropertyChanged("EntityKey");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Order", Namespace="http://schemas.datacontract.org/2004/07/Hierarchy_WCFService.Web", IsReference=true)]
    public partial class Order : Hierarchy_WCFService.ServiceReference1.EntityObject {
        
        private Hierarchy_WCFService.ServiceReference1.Customer CustomerField;
        
        private string CustomerIDField;
        
        private Hierarchy_WCFService.ServiceReference1.EntityReferenceOfCustomerrAHgo11X CustomerReferenceField;
        
        private System.Nullable<int> EmployeeIDField;
        
        private System.Nullable<decimal> FreightField;
        
        private Hierarchy_WCFService.ServiceReference1.Order Order1Field;
        
        private Hierarchy_WCFService.ServiceReference1.EntityReferenceOfOrderrAHgo11X Order1ReferenceField;
        
        private System.Nullable<System.DateTime> OrderDateField;
        
        private int OrderIDField;
        
        private Hierarchy_WCFService.ServiceReference1.Order Orders1Field;
        
        private Hierarchy_WCFService.ServiceReference1.EntityReferenceOfOrderrAHgo11X Orders1ReferenceField;
        
        private System.Nullable<System.DateTime> RequiredDateField;
        
        private string ShipAddressField;
        
        private string ShipCityField;
        
        private string ShipCountryField;
        
        private string ShipNameField;
        
        private string ShipPostalCodeField;
        
        private string ShipRegionField;
        
        private System.Nullable<int> ShipViaField;
        
        private System.Nullable<System.DateTime> ShippedDateField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Hierarchy_WCFService.ServiceReference1.Customer Customer {
            get {
                return this.CustomerField;
            }
            set {
                if ((object.ReferenceEquals(this.CustomerField, value) != true)) {
                    this.CustomerField = value;
                    this.RaisePropertyChanged("Customer");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string CustomerID {
            get {
                return this.CustomerIDField;
            }
            set {
                if ((object.ReferenceEquals(this.CustomerIDField, value) != true)) {
                    this.CustomerIDField = value;
                    this.RaisePropertyChanged("CustomerID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Hierarchy_WCFService.ServiceReference1.EntityReferenceOfCustomerrAHgo11X CustomerReference {
            get {
                return this.CustomerReferenceField;
            }
            set {
                if ((object.ReferenceEquals(this.CustomerReferenceField, value) != true)) {
                    this.CustomerReferenceField = value;
                    this.RaisePropertyChanged("CustomerReference");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<int> EmployeeID {
            get {
                return this.EmployeeIDField;
            }
            set {
                if ((this.EmployeeIDField.Equals(value) != true)) {
                    this.EmployeeIDField = value;
                    this.RaisePropertyChanged("EmployeeID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<decimal> Freight {
            get {
                return this.FreightField;
            }
            set {
                if ((this.FreightField.Equals(value) != true)) {
                    this.FreightField = value;
                    this.RaisePropertyChanged("Freight");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Hierarchy_WCFService.ServiceReference1.Order Order1 {
            get {
                return this.Order1Field;
            }
            set {
                if ((object.ReferenceEquals(this.Order1Field, value) != true)) {
                    this.Order1Field = value;
                    this.RaisePropertyChanged("Order1");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Hierarchy_WCFService.ServiceReference1.EntityReferenceOfOrderrAHgo11X Order1Reference {
            get {
                return this.Order1ReferenceField;
            }
            set {
                if ((object.ReferenceEquals(this.Order1ReferenceField, value) != true)) {
                    this.Order1ReferenceField = value;
                    this.RaisePropertyChanged("Order1Reference");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<System.DateTime> OrderDate {
            get {
                return this.OrderDateField;
            }
            set {
                if ((this.OrderDateField.Equals(value) != true)) {
                    this.OrderDateField = value;
                    this.RaisePropertyChanged("OrderDate");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int OrderID {
            get {
                return this.OrderIDField;
            }
            set {
                if ((this.OrderIDField.Equals(value) != true)) {
                    this.OrderIDField = value;
                    this.RaisePropertyChanged("OrderID");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Hierarchy_WCFService.ServiceReference1.Order Orders1 {
            get {
                return this.Orders1Field;
            }
            set {
                if ((object.ReferenceEquals(this.Orders1Field, value) != true)) {
                    this.Orders1Field = value;
                    this.RaisePropertyChanged("Orders1");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Hierarchy_WCFService.ServiceReference1.EntityReferenceOfOrderrAHgo11X Orders1Reference {
            get {
                return this.Orders1ReferenceField;
            }
            set {
                if ((object.ReferenceEquals(this.Orders1ReferenceField, value) != true)) {
                    this.Orders1ReferenceField = value;
                    this.RaisePropertyChanged("Orders1Reference");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<System.DateTime> RequiredDate {
            get {
                return this.RequiredDateField;
            }
            set {
                if ((this.RequiredDateField.Equals(value) != true)) {
                    this.RequiredDateField = value;
                    this.RaisePropertyChanged("RequiredDate");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ShipAddress {
            get {
                return this.ShipAddressField;
            }
            set {
                if ((object.ReferenceEquals(this.ShipAddressField, value) != true)) {
                    this.ShipAddressField = value;
                    this.RaisePropertyChanged("ShipAddress");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ShipCity {
            get {
                return this.ShipCityField;
            }
            set {
                if ((object.ReferenceEquals(this.ShipCityField, value) != true)) {
                    this.ShipCityField = value;
                    this.RaisePropertyChanged("ShipCity");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ShipCountry {
            get {
                return this.ShipCountryField;
            }
            set {
                if ((object.ReferenceEquals(this.ShipCountryField, value) != true)) {
                    this.ShipCountryField = value;
                    this.RaisePropertyChanged("ShipCountry");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ShipName {
            get {
                return this.ShipNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ShipNameField, value) != true)) {
                    this.ShipNameField = value;
                    this.RaisePropertyChanged("ShipName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ShipPostalCode {
            get {
                return this.ShipPostalCodeField;
            }
            set {
                if ((object.ReferenceEquals(this.ShipPostalCodeField, value) != true)) {
                    this.ShipPostalCodeField = value;
                    this.RaisePropertyChanged("ShipPostalCode");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ShipRegion {
            get {
                return this.ShipRegionField;
            }
            set {
                if ((object.ReferenceEquals(this.ShipRegionField, value) != true)) {
                    this.ShipRegionField = value;
                    this.RaisePropertyChanged("ShipRegion");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<int> ShipVia {
            get {
                return this.ShipViaField;
            }
            set {
                if ((this.ShipViaField.Equals(value) != true)) {
                    this.ShipViaField = value;
                    this.RaisePropertyChanged("ShipVia");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<System.DateTime> ShippedDate {
            get {
                return this.ShippedDateField;
            }
            set {
                if ((this.ShippedDateField.Equals(value) != true)) {
                    this.ShippedDateField = value;
                    this.RaisePropertyChanged("ShippedDate");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="EntityKey", Namespace="http://schemas.datacontract.org/2004/07/System.Data", IsReference=true)]
    public partial class EntityKey : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string EntityContainerNameField;
        
        private System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.EntityKeyMember> EntityKeyValuesField;
        
        private string EntitySetNameField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string EntityContainerName {
            get {
                return this.EntityContainerNameField;
            }
            set {
                if ((object.ReferenceEquals(this.EntityContainerNameField, value) != true)) {
                    this.EntityContainerNameField = value;
                    this.RaisePropertyChanged("EntityContainerName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.EntityKeyMember> EntityKeyValues {
            get {
                return this.EntityKeyValuesField;
            }
            set {
                if ((object.ReferenceEquals(this.EntityKeyValuesField, value) != true)) {
                    this.EntityKeyValuesField = value;
                    this.RaisePropertyChanged("EntityKeyValues");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string EntitySetName {
            get {
                return this.EntitySetNameField;
            }
            set {
                if ((object.ReferenceEquals(this.EntitySetNameField, value) != true)) {
                    this.EntitySetNameField = value;
                    this.RaisePropertyChanged("EntitySetName");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="EntityKeyMember", Namespace="http://schemas.datacontract.org/2004/07/System.Data")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.EntityKey))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.EntityKeyMember>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Customer>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.Customer))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Order>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.Order))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.EntityObject))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.StructuralObject))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.EntityReferenceOfCustomerrAHgo11X))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.EntityReference))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.RelatedEnd))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.EntityReferenceOfOrderrAHgo11X))]
    public partial class EntityKeyMember : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string KeyField;
        
        private object ValueField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Key {
            get {
                return this.KeyField;
            }
            set {
                if ((object.ReferenceEquals(this.KeyField, value) != true)) {
                    this.KeyField = value;
                    this.RaisePropertyChanged("Key");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public object Value {
            get {
                return this.ValueField;
            }
            set {
                if ((object.ReferenceEquals(this.ValueField, value) != true)) {
                    this.ValueField = value;
                    this.RaisePropertyChanged("Value");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="EntityReferenceOfCustomerrAHgo11X", Namespace="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses")]
    public partial class EntityReferenceOfCustomerrAHgo11X : Hierarchy_WCFService.ServiceReference1.EntityReference {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="EntityReference", Namespace="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.EntityReferenceOfOrderrAHgo11X))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.EntityReferenceOfCustomerrAHgo11X))]
    public partial class EntityReference : Hierarchy_WCFService.ServiceReference1.RelatedEnd {
        
        private Hierarchy_WCFService.ServiceReference1.EntityKey EntityKeyField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Hierarchy_WCFService.ServiceReference1.EntityKey EntityKey {
            get {
                return this.EntityKeyField;
            }
            set {
                if ((object.ReferenceEquals(this.EntityKeyField, value) != true)) {
                    this.EntityKeyField = value;
                    this.RaisePropertyChanged("EntityKey");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="RelatedEnd", Namespace="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.EntityReference))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.EntityReferenceOfOrderrAHgo11X))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Hierarchy_WCFService.ServiceReference1.EntityReferenceOfCustomerrAHgo11X))]
    public partial class RelatedEnd : object, System.ComponentModel.INotifyPropertyChanged {
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="EntityReferenceOfOrderrAHgo11X", Namespace="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses")]
    public partial class EntityReferenceOfOrderrAHgo11X : Hierarchy_WCFService.ServiceReference1.EntityReference {
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="", ConfigurationName="ServiceReference1.Service1")]
    public interface Service1 {
        
        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="urn:Service1/DoWork", ReplyAction="urn:Service1/DoWorkResponse")]
        System.IAsyncResult BeginDoWork(System.AsyncCallback callback, object asyncState);
        
        void EndDoWork(System.IAsyncResult result);
        
        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="urn:Service1/CustomerList", ReplyAction="urn:Service1/CustomerListResponse")]
        System.IAsyncResult BeginCustomerList(System.AsyncCallback callback, object asyncState);
        
        System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Customer> EndCustomerList(System.IAsyncResult result);
        
        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="urn:Service1/OrderList", ReplyAction="urn:Service1/OrderListResponse")]
        System.IAsyncResult BeginOrderList(System.AsyncCallback callback, object asyncState);
        
        System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Order> EndOrderList(System.IAsyncResult result);
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface Service1Channel : Hierarchy_WCFService.ServiceReference1.Service1, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class CustomerListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        public CustomerListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        public System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Customer> Result {
            get {
                base.RaiseExceptionIfNecessary();
                return ((System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Customer>)(this.results[0]));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class OrderListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        public OrderListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        public System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Order> Result {
            get {
                base.RaiseExceptionIfNecessary();
                return ((System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Order>)(this.results[0]));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class Service1Client : System.ServiceModel.ClientBase<Hierarchy_WCFService.ServiceReference1.Service1>, Hierarchy_WCFService.ServiceReference1.Service1 {
        
        private BeginOperationDelegate onBeginDoWorkDelegate;
        
        private EndOperationDelegate onEndDoWorkDelegate;
        
        private System.Threading.SendOrPostCallback onDoWorkCompletedDelegate;
        
        private BeginOperationDelegate onBeginCustomerListDelegate;
        
        private EndOperationDelegate onEndCustomerListDelegate;
        
        private System.Threading.SendOrPostCallback onCustomerListCompletedDelegate;
        
        private BeginOperationDelegate onBeginOrderListDelegate;
        
        private EndOperationDelegate onEndOrderListDelegate;
        
        private System.Threading.SendOrPostCallback onOrderListCompletedDelegate;
        
        private BeginOperationDelegate onBeginOpenDelegate;
        
        private EndOperationDelegate onEndOpenDelegate;
        
        private System.Threading.SendOrPostCallback onOpenCompletedDelegate;
        
        private BeginOperationDelegate onBeginCloseDelegate;
        
        private EndOperationDelegate onEndCloseDelegate;
        
        private System.Threading.SendOrPostCallback onCloseCompletedDelegate;
        
        public Service1Client() {
        }
        
        public Service1Client(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public Service1Client(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public Service1Client(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public Service1Client(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        public System.Net.CookieContainer CookieContainer {
            get {
                System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager>();
                if ((httpCookieContainerManager != null)) {
                    return httpCookieContainerManager.CookieContainer;
                }
                else {
                    return null;
                }
            }
            set {
                System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager>();
                if ((httpCookieContainerManager != null)) {
                    httpCookieContainerManager.CookieContainer = value;
                }
                else {
                    throw new System.InvalidOperationException("Unable to set the CookieContainer. Please make sure the binding contains an HttpC" +
                            "ookieContainerBindingElement.");
                }
            }
        }
        
        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> DoWorkCompleted;
        
        public event System.EventHandler<CustomerListCompletedEventArgs> CustomerListCompleted;
        
        public event System.EventHandler<OrderListCompletedEventArgs> OrderListCompleted;
        
        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> OpenCompleted;
        
        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> CloseCompleted;
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.IAsyncResult Hierarchy_WCFService.ServiceReference1.Service1.BeginDoWork(System.AsyncCallback callback, object asyncState) {
            return base.Channel.BeginDoWork(callback, asyncState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        void Hierarchy_WCFService.ServiceReference1.Service1.EndDoWork(System.IAsyncResult result) {
            base.Channel.EndDoWork(result);
        }
        
        private System.IAsyncResult OnBeginDoWork(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((Hierarchy_WCFService.ServiceReference1.Service1)(this)).BeginDoWork(callback, asyncState);
        }
        
        private object[] OnEndDoWork(System.IAsyncResult result) {
            ((Hierarchy_WCFService.ServiceReference1.Service1)(this)).EndDoWork(result);
            return null;
        }
        
        private void OnDoWorkCompleted(object state) {
            if ((this.DoWorkCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.DoWorkCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void DoWorkAsync() {
            this.DoWorkAsync(null);
        }
        
        public void DoWorkAsync(object userState) {
            if ((this.onBeginDoWorkDelegate == null)) {
                this.onBeginDoWorkDelegate = new BeginOperationDelegate(this.OnBeginDoWork);
            }
            if ((this.onEndDoWorkDelegate == null)) {
                this.onEndDoWorkDelegate = new EndOperationDelegate(this.OnEndDoWork);
            }
            if ((this.onDoWorkCompletedDelegate == null)) {
                this.onDoWorkCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnDoWorkCompleted);
            }
            base.InvokeAsync(this.onBeginDoWorkDelegate, null, this.onEndDoWorkDelegate, this.onDoWorkCompletedDelegate, userState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.IAsyncResult Hierarchy_WCFService.ServiceReference1.Service1.BeginCustomerList(System.AsyncCallback callback, object asyncState) {
            return base.Channel.BeginCustomerList(callback, asyncState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Customer> Hierarchy_WCFService.ServiceReference1.Service1.EndCustomerList(System.IAsyncResult result) {
            return base.Channel.EndCustomerList(result);
        }
        
        private System.IAsyncResult OnBeginCustomerList(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((Hierarchy_WCFService.ServiceReference1.Service1)(this)).BeginCustomerList(callback, asyncState);
        }
        
        private object[] OnEndCustomerList(System.IAsyncResult result) {
            System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Customer> retVal = ((Hierarchy_WCFService.ServiceReference1.Service1)(this)).EndCustomerList(result);
            return new object[] {
                    retVal};
        }
        
        private void OnCustomerListCompleted(object state) {
            if ((this.CustomerListCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.CustomerListCompleted(this, new CustomerListCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void CustomerListAsync() {
            this.CustomerListAsync(null);
        }
        
        public void CustomerListAsync(object userState) {
            if ((this.onBeginCustomerListDelegate == null)) {
                this.onBeginCustomerListDelegate = new BeginOperationDelegate(this.OnBeginCustomerList);
            }
            if ((this.onEndCustomerListDelegate == null)) {
                this.onEndCustomerListDelegate = new EndOperationDelegate(this.OnEndCustomerList);
            }
            if ((this.onCustomerListCompletedDelegate == null)) {
                this.onCustomerListCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnCustomerListCompleted);
            }
            base.InvokeAsync(this.onBeginCustomerListDelegate, null, this.onEndCustomerListDelegate, this.onCustomerListCompletedDelegate, userState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.IAsyncResult Hierarchy_WCFService.ServiceReference1.Service1.BeginOrderList(System.AsyncCallback callback, object asyncState) {
            return base.Channel.BeginOrderList(callback, asyncState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Order> Hierarchy_WCFService.ServiceReference1.Service1.EndOrderList(System.IAsyncResult result) {
            return base.Channel.EndOrderList(result);
        }
        
        private System.IAsyncResult OnBeginOrderList(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((Hierarchy_WCFService.ServiceReference1.Service1)(this)).BeginOrderList(callback, asyncState);
        }
        
        private object[] OnEndOrderList(System.IAsyncResult result) {
            System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Order> retVal = ((Hierarchy_WCFService.ServiceReference1.Service1)(this)).EndOrderList(result);
            return new object[] {
                    retVal};
        }
        
        private void OnOrderListCompleted(object state) {
            if ((this.OrderListCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.OrderListCompleted(this, new OrderListCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void OrderListAsync() {
            this.OrderListAsync(null);
        }
        
        public void OrderListAsync(object userState) {
            if ((this.onBeginOrderListDelegate == null)) {
                this.onBeginOrderListDelegate = new BeginOperationDelegate(this.OnBeginOrderList);
            }
            if ((this.onEndOrderListDelegate == null)) {
                this.onEndOrderListDelegate = new EndOperationDelegate(this.OnEndOrderList);
            }
            if ((this.onOrderListCompletedDelegate == null)) {
                this.onOrderListCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnOrderListCompleted);
            }
            base.InvokeAsync(this.onBeginOrderListDelegate, null, this.onEndOrderListDelegate, this.onOrderListCompletedDelegate, userState);
        }
        
        private System.IAsyncResult OnBeginOpen(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((System.ServiceModel.ICommunicationObject)(this)).BeginOpen(callback, asyncState);
        }
        
        private object[] OnEndOpen(System.IAsyncResult result) {
            ((System.ServiceModel.ICommunicationObject)(this)).EndOpen(result);
            return null;
        }
        
        private void OnOpenCompleted(object state) {
            if ((this.OpenCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.OpenCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void OpenAsync() {
            this.OpenAsync(null);
        }
        
        public void OpenAsync(object userState) {
            if ((this.onBeginOpenDelegate == null)) {
                this.onBeginOpenDelegate = new BeginOperationDelegate(this.OnBeginOpen);
            }
            if ((this.onEndOpenDelegate == null)) {
                this.onEndOpenDelegate = new EndOperationDelegate(this.OnEndOpen);
            }
            if ((this.onOpenCompletedDelegate == null)) {
                this.onOpenCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnOpenCompleted);
            }
            base.InvokeAsync(this.onBeginOpenDelegate, null, this.onEndOpenDelegate, this.onOpenCompletedDelegate, userState);
        }
        
        private System.IAsyncResult OnBeginClose(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((System.ServiceModel.ICommunicationObject)(this)).BeginClose(callback, asyncState);
        }
        
        private object[] OnEndClose(System.IAsyncResult result) {
            ((System.ServiceModel.ICommunicationObject)(this)).EndClose(result);
            return null;
        }
        
        private void OnCloseCompleted(object state) {
            if ((this.CloseCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.CloseCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void CloseAsync() {
            this.CloseAsync(null);
        }
        
        public void CloseAsync(object userState) {
            if ((this.onBeginCloseDelegate == null)) {
                this.onBeginCloseDelegate = new BeginOperationDelegate(this.OnBeginClose);
            }
            if ((this.onEndCloseDelegate == null)) {
                this.onEndCloseDelegate = new EndOperationDelegate(this.OnEndClose);
            }
            if ((this.onCloseCompletedDelegate == null)) {
                this.onCloseCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnCloseCompleted);
            }
            base.InvokeAsync(this.onBeginCloseDelegate, null, this.onEndCloseDelegate, this.onCloseCompletedDelegate, userState);
        }
        
        protected override Hierarchy_WCFService.ServiceReference1.Service1 CreateChannel() {
            return new Service1ClientChannel(this);
        }
        
        private class Service1ClientChannel : ChannelBase<Hierarchy_WCFService.ServiceReference1.Service1>, Hierarchy_WCFService.ServiceReference1.Service1 {
            
            public Service1ClientChannel(System.ServiceModel.ClientBase<Hierarchy_WCFService.ServiceReference1.Service1> client) : 
                    base(client) {
            }
            
            public System.IAsyncResult BeginDoWork(System.AsyncCallback callback, object asyncState) {
                object[] _args = new object[0];
                System.IAsyncResult _result = base.BeginInvoke("DoWork", _args, callback, asyncState);
                return _result;
            }
            
            public void EndDoWork(System.IAsyncResult result) {
                object[] _args = new object[0];
                base.EndInvoke("DoWork", _args, result);
            }
            
            public System.IAsyncResult BeginCustomerList(System.AsyncCallback callback, object asyncState) {
                object[] _args = new object[0];
                System.IAsyncResult _result = base.BeginInvoke("CustomerList", _args, callback, asyncState);
                return _result;
            }
            
            public System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Customer> EndCustomerList(System.IAsyncResult result) {
                object[] _args = new object[0];
                System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Customer> _result = ((System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Customer>)(base.EndInvoke("CustomerList", _args, result)));
                return _result;
            }
            
            public System.IAsyncResult BeginOrderList(System.AsyncCallback callback, object asyncState) {
                object[] _args = new object[0];
                System.IAsyncResult _result = base.BeginInvoke("OrderList", _args, callback, asyncState);
                return _result;
            }
            
            public System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Order> EndOrderList(System.IAsyncResult result) {
                object[] _args = new object[0];
                System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Order> _result = ((System.Collections.ObjectModel.ObservableCollection<Hierarchy_WCFService.ServiceReference1.Order>)(base.EndInvoke("OrderList", _args, result)));
                return _result;
            }
        }
    }
}
