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

namespace GeometryServiceLibrary.DataTransferObjects
{
    using System.Runtime.Serialization;
    
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Circle", Namespace="http://schemas.datacontract.org/2004/07/GeometryServiceLibrary.DataTransferObject" +
        "s")]
    public partial class Circle : object, System.Runtime.Serialization.IExtensibleDataObject
    {
        
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        private double RadiusField;
        
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public double Radius
        {
            get
            {
                return this.RadiusField;
            }
            set
            {
                this.RadiusField = value;
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Rectangle", Namespace="http://schemas.datacontract.org/2004/07/GeometryServiceLibrary.DataTransferObject" +
        "s")]
    public partial class Rectangle : object, System.Runtime.Serialization.IExtensibleDataObject
    {
        
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        private double AField;
        
        private double BField;
        
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public double A
        {
            get
            {
                return this.AField;
            }
            set
            {
                this.AField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public double B
        {
            get
            {
                return this.BField;
            }
            set
            {
                this.BField = value;
            }
        }
    }
}


[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(ConfigurationName="IGeometryService")]
public interface IGeometryService
{
    
    [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IGeometryService/GetCircleArea", ReplyAction="http://tempuri.org/IGeometryService/GetCircleAreaResponse")]
    double GetCircleArea(GeometryServiceLibrary.DataTransferObjects.Circle circ);
    
    [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IGeometryService/GetRectangleArea", ReplyAction="http://tempuri.org/IGeometryService/GetRectangleAreaResponse")]
    double GetRectangleArea(GeometryServiceLibrary.DataTransferObjects.Rectangle rect);
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public interface IGeometryServiceChannel : IGeometryService, System.ServiceModel.IClientChannel
{
}

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public partial class GeometryServiceClient : System.ServiceModel.ClientBase<IGeometryService>, IGeometryService
{
    
    public GeometryServiceClient()
    {
    }
    
    public GeometryServiceClient(string endpointConfigurationName) : 
            base(endpointConfigurationName)
    {
    }
    
    public GeometryServiceClient(string endpointConfigurationName, string remoteAddress) : 
            base(endpointConfigurationName, remoteAddress)
    {
    }
    
    public GeometryServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
            base(endpointConfigurationName, remoteAddress)
    {
    }
    
    public GeometryServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
            base(binding, remoteAddress)
    {
    }
    
    public double GetCircleArea(GeometryServiceLibrary.DataTransferObjects.Circle circ)
    {
        return base.Channel.GetCircleArea(circ);
    }
    
    public double GetRectangleArea(GeometryServiceLibrary.DataTransferObjects.Rectangle rect)
    {
        return base.Channel.GetRectangleArea(rect);
    }
}
