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

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Serialization;

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
// 


/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="RepairPointSoap", Namespace="urn:other")]
public partial class RepairPoint : Microsoft.Web.Services3.WebServicesClientProtocol {
    
    private System.Threading.SendOrPostCallback GetEstimateOperationCompleted;
    
    /// <remarks/>
    public RepairPoint() {
        this.Url = "http://canopus5:80/Repairs/req";
    }
    
    /// <remarks/>
    public event GetEstimateCompletedEventHandler GetEstimateCompleted;
    
    /// <remarks/>
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:autosGetEstimate", RequestNamespace="urn:autos", ResponseNamespace="urn:autos", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
    [return: System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
    public System.Nullable<int> GetEstimate([System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] string model) {
        object[] results = this.Invoke("GetEstimate", new object[] {
                    model});
        return ((System.Nullable<int>)(results[0]));
    }
    
    /// <remarks/>
    public System.IAsyncResult BeginGetEstimate(string model, System.AsyncCallback callback, object asyncState) {
        return this.BeginInvoke("GetEstimate", new object[] {
                    model}, callback, asyncState);
    }
    
    /// <remarks/>
    public System.Nullable<int> EndGetEstimate(System.IAsyncResult asyncResult) {
        object[] results = this.EndInvoke(asyncResult);
        return ((System.Nullable<int>)(results[0]));
    }
    
    /// <remarks/>
    public void GetEstimateAsync(string model) {
        this.GetEstimateAsync(model, null);
    }
    
    /// <remarks/>
    public void GetEstimateAsync(string model, object userState) {
        if ((this.GetEstimateOperationCompleted == null)) {
            this.GetEstimateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetEstimateOperationCompleted);
        }
        this.InvokeAsync("GetEstimate", new object[] {
                    model}, this.GetEstimateOperationCompleted, userState);
    }
    
    private void OnGetEstimateOperationCompleted(object arg) {
        if ((this.GetEstimateCompleted != null)) {
            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
            this.GetEstimateCompleted(this, new GetEstimateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
        }
    }
    
    /// <remarks/>
    public new void CancelAsync(object userState) {
        base.CancelAsync(userState);
    }
}

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetEstimateCompletedEventHandler(object sender, GetEstimateCompletedEventArgs e);

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetEstimateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
    
    private object[] results;
    
    internal GetEstimateCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
            base(exception, cancelled, userState) {
        this.results = results;
    }
    
    /// <remarks/>
    public System.Nullable<int> Result {
        get {
            this.RaiseExceptionIfNecessary();
            return ((System.Nullable<int>)(this.results[0]));
        }
    }
}
