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

// 
// This source code was auto-generated by Microsoft.VSDesigner, Version 4.0.30319.34209.
// 
#pragma warning disable 1591

namespace AgentWebservicesClient.AgentContactWS {
    using System;
    using System.Web.Services;
    using System.Diagnostics;
    using System.Web.Services.Protocols;
    using System.Xml.Serialization;
    using System.ComponentModel;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.34209")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="AgentContactWSSoap", Namespace="http://nortel.com/CCMMAgentWebservices/")]
    public partial class AgentContactWS : System.Web.Services.Protocols.SoapHttpClientProtocol {
        
        private System.Threading.SendOrPostCallback ReadContactOperationCompleted;
        
        private System.Threading.SendOrPostCallback CloseContactOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAllClosedReasonCodesOperationCompleted;
        
        private bool useDefaultCredentialsSetExplicitly;
        
        /// <remarks/>
        public AgentContactWS() {
            this.Url = global::AgentWebservicesClient.Properties.Settings.Default.AgentWebservicesClient_AgentContactWS_AgentContactWS;
            if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
                this.UseDefaultCredentials = true;
                this.useDefaultCredentialsSetExplicitly = false;
            }
            else {
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        public new string Url {
            get {
                return base.Url;
            }
            set {
                if ((((this.IsLocalFileSystemWebService(base.Url) == true) 
                            && (this.useDefaultCredentialsSetExplicitly == false)) 
                            && (this.IsLocalFileSystemWebService(value) == false))) {
                    base.UseDefaultCredentials = false;
                }
                base.Url = value;
            }
        }
        
        public new bool UseDefaultCredentials {
            get {
                return base.UseDefaultCredentials;
            }
            set {
                base.UseDefaultCredentials = value;
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        /// <remarks/>
        public event ReadContactCompletedEventHandler ReadContactCompleted;
        
        /// <remarks/>
        public event CloseContactCompletedEventHandler CloseContactCompleted;
        
        /// <remarks/>
        public event GetAllClosedReasonCodesCompletedEventHandler GetAllClosedReasonCodesCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://nortel.com/CCMMAgentWebservices/ReadContact", RequestNamespace="http://nortel.com/CCMMAgentWebservices/", ResponseNamespace="http://nortel.com/CCMMAgentWebservices/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public AWContact ReadContact(string id, string sessionKey) {
            object[] results = this.Invoke("ReadContact", new object[] {
                        id,
                        sessionKey});
            return ((AWContact)(results[0]));
        }
        
        /// <remarks/>
        public void ReadContactAsync(string id, string sessionKey) {
            this.ReadContactAsync(id, sessionKey, null);
        }
        
        /// <remarks/>
        public void ReadContactAsync(string id, string sessionKey, object userState) {
            if ((this.ReadContactOperationCompleted == null)) {
                this.ReadContactOperationCompleted = new System.Threading.SendOrPostCallback(this.OnReadContactOperationCompleted);
            }
            this.InvokeAsync("ReadContact", new object[] {
                        id,
                        sessionKey}, this.ReadContactOperationCompleted, userState);
        }
        
        private void OnReadContactOperationCompleted(object arg) {
            if ((this.ReadContactCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ReadContactCompleted(this, new ReadContactCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://nortel.com/CCMMAgentWebservices/CloseContact", RequestNamespace="http://nortel.com/CCMMAgentWebservices/", ResponseNamespace="http://nortel.com/CCMMAgentWebservices/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public long CloseContact(string id, string closureText, long closedReasonCodeValue, [System.Xml.Serialization.XmlElementAttribute("closedReasonCodeSpecified")] bool closedReasonCodeSpecified1, string sessionKey) {
            object[] results = this.Invoke("CloseContact", new object[] {
                        id,
                        closureText,
                        closedReasonCodeValue,
                        closedReasonCodeSpecified1,
                        sessionKey});
            return ((long)(results[0]));
        }
        
        /// <remarks/>
        public void CloseContactAsync(string id, string closureText, long closedReasonCodeValue, bool closedReasonCodeSpecified1, string sessionKey) {
            this.CloseContactAsync(id, closureText, closedReasonCodeValue, closedReasonCodeSpecified1, sessionKey, null);
        }
        
        /// <remarks/>
        public void CloseContactAsync(string id, string closureText, long closedReasonCodeValue, bool closedReasonCodeSpecified1, string sessionKey, object userState) {
            if ((this.CloseContactOperationCompleted == null)) {
                this.CloseContactOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCloseContactOperationCompleted);
            }
            this.InvokeAsync("CloseContact", new object[] {
                        id,
                        closureText,
                        closedReasonCodeValue,
                        closedReasonCodeSpecified1,
                        sessionKey}, this.CloseContactOperationCompleted, userState);
        }
        
        private void OnCloseContactOperationCompleted(object arg) {
            if ((this.CloseContactCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CloseContactCompleted(this, new CloseContactCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://nortel.com/CCMMAgentWebservices/GetAllClosedReasonCodes", RequestNamespace="http://nortel.com/CCMMAgentWebservices/", ResponseNamespace="http://nortel.com/CCMMAgentWebservices/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public AWClosedReasonCode[] GetAllClosedReasonCodes(string sessionKey) {
            object[] results = this.Invoke("GetAllClosedReasonCodes", new object[] {
                        sessionKey});
            return ((AWClosedReasonCode[])(results[0]));
        }
        
        /// <remarks/>
        public void GetAllClosedReasonCodesAsync(string sessionKey) {
            this.GetAllClosedReasonCodesAsync(sessionKey, null);
        }
        
        /// <remarks/>
        public void GetAllClosedReasonCodesAsync(string sessionKey, object userState) {
            if ((this.GetAllClosedReasonCodesOperationCompleted == null)) {
                this.GetAllClosedReasonCodesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAllClosedReasonCodesOperationCompleted);
            }
            this.InvokeAsync("GetAllClosedReasonCodes", new object[] {
                        sessionKey}, this.GetAllClosedReasonCodesOperationCompleted, userState);
        }
        
        private void OnGetAllClosedReasonCodesOperationCompleted(object arg) {
            if ((this.GetAllClosedReasonCodesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAllClosedReasonCodesCompleted(this, new GetAllClosedReasonCodesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
        
        private bool IsLocalFileSystemWebService(string url) {
            if (((url == null) 
                        || (url == string.Empty))) {
                return false;
            }
            System.Uri wsUri = new System.Uri(url);
            if (((wsUri.Port >= 1024) 
                        && (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
                return true;
            }
            return false;
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public partial class AWContact {
        
        private long idField;
        
        private long customerIDField;
        
        private string originalSubjectField;
        
        private AWContactSource sourceField;
        
        private AWContactStatus statusField;
        
        private AWSkillset skillsetField;
        
        private AWContactPriority priorityField;
        
        private long timezoneField;
        
        private string webOnHoldTagField;
        
        private AWDateTime arrivalTimeField;
        
        private AWDateTime closedTimeField;
        
        private AWDateTime openTimeField;
        
        private long openDurationField;
        
        private string mailToField;
        
        private string mailFromField;
        
        private string mailCCField;
        
        private AWContactType contactTypeField;
        
        private AWAgent agentField;
        
        private AWAction[] actionListField;
        
        private AWCustomField[] customFieldListField;
        
        /// <remarks/>
        public long id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        public long customerID {
            get {
                return this.customerIDField;
            }
            set {
                this.customerIDField = value;
            }
        }
        
        /// <remarks/>
        public string originalSubject {
            get {
                return this.originalSubjectField;
            }
            set {
                this.originalSubjectField = value;
            }
        }
        
        /// <remarks/>
        public AWContactSource source {
            get {
                return this.sourceField;
            }
            set {
                this.sourceField = value;
            }
        }
        
        /// <remarks/>
        public AWContactStatus status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
            }
        }
        
        /// <remarks/>
        public AWSkillset skillset {
            get {
                return this.skillsetField;
            }
            set {
                this.skillsetField = value;
            }
        }
        
        /// <remarks/>
        public AWContactPriority priority {
            get {
                return this.priorityField;
            }
            set {
                this.priorityField = value;
            }
        }
        
        /// <remarks/>
        public long timezone {
            get {
                return this.timezoneField;
            }
            set {
                this.timezoneField = value;
            }
        }
        
        /// <remarks/>
        public string webOnHoldTag {
            get {
                return this.webOnHoldTagField;
            }
            set {
                this.webOnHoldTagField = value;
            }
        }
        
        /// <remarks/>
        public AWDateTime arrivalTime {
            get {
                return this.arrivalTimeField;
            }
            set {
                this.arrivalTimeField = value;
            }
        }
        
        /// <remarks/>
        public AWDateTime closedTime {
            get {
                return this.closedTimeField;
            }
            set {
                this.closedTimeField = value;
            }
        }
        
        /// <remarks/>
        public AWDateTime openTime {
            get {
                return this.openTimeField;
            }
            set {
                this.openTimeField = value;
            }
        }
        
        /// <remarks/>
        public long openDuration {
            get {
                return this.openDurationField;
            }
            set {
                this.openDurationField = value;
            }
        }
        
        /// <remarks/>
        public string MailTo {
            get {
                return this.mailToField;
            }
            set {
                this.mailToField = value;
            }
        }
        
        /// <remarks/>
        public string MailFrom {
            get {
                return this.mailFromField;
            }
            set {
                this.mailFromField = value;
            }
        }
        
        /// <remarks/>
        public string MailCC {
            get {
                return this.mailCCField;
            }
            set {
                this.mailCCField = value;
            }
        }
        
        /// <remarks/>
        public AWContactType contactType {
            get {
                return this.contactTypeField;
            }
            set {
                this.contactTypeField = value;
            }
        }
        
        /// <remarks/>
        public AWAgent agent {
            get {
                return this.agentField;
            }
            set {
                this.agentField = value;
            }
        }
        
        /// <remarks/>
        public AWAction[] actionList {
            get {
                return this.actionListField;
            }
            set {
                this.actionListField = value;
            }
        }
        
        /// <remarks/>
        public AWCustomField[] customFieldList {
            get {
                return this.customFieldListField;
            }
            set {
                this.customFieldListField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public enum AWContactSource {
        
        /// <remarks/>
        NotAvailable,
        
        /// <remarks/>
        EMail,
        
        /// <remarks/>
        AgentCreated,
        
        /// <remarks/>
        Web,
        
        /// <remarks/>
        Unspecified,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public enum AWContactStatus {
        
        /// <remarks/>
        New,
        
        /// <remarks/>
        Open,
        
        /// <remarks/>
        Closed,
        
        /// <remarks/>
        Waiting,
        
        /// <remarks/>
        Unspecified,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public partial class AWSkillset {
        
        private long idField;
        
        private string nameField;
        
        /// <remarks/>
        public long id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        public string name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public partial class AWCodeMapping {
        
        private long idField;
        
        private bool idFieldSpecified;
        
        private bool idSpecified1Field;
        
        private string fieldNameField;
        
        private long numericValueField;
        
        private bool numericValueFieldSpecified;
        
        private bool numericValueSpecified1Field;
        
        private string textValueField;
        
        /// <remarks/>
        public long id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool idSpecified {
            get {
                return this.idFieldSpecified;
            }
            set {
                this.idFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("idSpecified")]
        public bool idSpecified1 {
            get {
                return this.idSpecified1Field;
            }
            set {
                this.idSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public string fieldName {
            get {
                return this.fieldNameField;
            }
            set {
                this.fieldNameField = value;
            }
        }
        
        /// <remarks/>
        public long numericValue {
            get {
                return this.numericValueField;
            }
            set {
                this.numericValueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool numericValueSpecified {
            get {
                return this.numericValueFieldSpecified;
            }
            set {
                this.numericValueFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("numericValueSpecified")]
        public bool numericValueSpecified1 {
            get {
                return this.numericValueSpecified1Field;
            }
            set {
                this.numericValueSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public string textValue {
            get {
                return this.textValueField;
            }
            set {
                this.textValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public partial class AWAttachment {
        
        private long idField;
        
        private bool idFieldSpecified;
        
        private bool idSpecified1Field;
        
        private string displayFileNameField;
        
        private string internalFileNameField;
        
        private AWCodeMapping directionField;
        
        private byte[] fileContentsField;
        
        /// <remarks/>
        public long id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool idSpecified {
            get {
                return this.idFieldSpecified;
            }
            set {
                this.idFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("idSpecified")]
        public bool idSpecified1 {
            get {
                return this.idSpecified1Field;
            }
            set {
                this.idSpecified1Field = value;
            }
        }
        
        /// <remarks/>
        public string displayFileName {
            get {
                return this.displayFileNameField;
            }
            set {
                this.displayFileNameField = value;
            }
        }
        
        /// <remarks/>
        public string internalFileName {
            get {
                return this.internalFileNameField;
            }
            set {
                this.internalFileNameField = value;
            }
        }
        
        /// <remarks/>
        public AWCodeMapping direction {
            get {
                return this.directionField;
            }
            set {
                this.directionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] fileContents {
            get {
                return this.fileContentsField;
            }
            set {
                this.fileContentsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public partial class AWClosedReasonCode {
        
        private string nameField;
        
        private long numericValueField;
        
        /// <remarks/>
        public string name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        public long numericValue {
            get {
                return this.numericValueField;
            }
            set {
                this.numericValueField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public partial class AWCustomField {
        
        private long idField;
        
        private string nameField;
        
        private string textField;
        
        private bool isTextVisibleField;
        
        /// <remarks/>
        public long id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        public string name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        public string text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
            }
        }
        
        /// <remarks/>
        public bool isTextVisible {
            get {
                return this.isTextVisibleField;
            }
            set {
                this.isTextVisibleField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public partial class AWAction {
        
        private long idField;
        
        private long contactIDField;
        
        private AWAgent agentField;
        
        private string subjectField;
        
        private string textField;
        
        private string textHTMLField;
        
        private AWDateTime callbackTimeField;
        
        private AWCallbackStatus callbackStatusField;
        
        private AWDateTime creationTimeField;
        
        private AWActionSource sourceField;
        
        private string mailFromField;
        
        private string mailToField;
        
        private string mailCCField;
        
        private string mailBCCField;
        
        private string commentField;
        
        private long timeAllocatedField;
        
        private string numberUsedField;
        
        private long outboundTalkTimeField;
        
        private string outboundDispositionCodeField;
        
        private AWContactType actionTypeField;
        
        private AWCustomField[] customFieldListField;
        
        private AWClosedReasonCode closedReasonField;
        
        private AWAttachment[] attachmentListField;
        
        /// <remarks/>
        public long id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        public long contactID {
            get {
                return this.contactIDField;
            }
            set {
                this.contactIDField = value;
            }
        }
        
        /// <remarks/>
        public AWAgent agent {
            get {
                return this.agentField;
            }
            set {
                this.agentField = value;
            }
        }
        
        /// <remarks/>
        public string subject {
            get {
                return this.subjectField;
            }
            set {
                this.subjectField = value;
            }
        }
        
        /// <remarks/>
        public string text {
            get {
                return this.textField;
            }
            set {
                this.textField = value;
            }
        }
        
        /// <remarks/>
        public string textHTML {
            get {
                return this.textHTMLField;
            }
            set {
                this.textHTMLField = value;
            }
        }
        
        /// <remarks/>
        public AWDateTime callbackTime {
            get {
                return this.callbackTimeField;
            }
            set {
                this.callbackTimeField = value;
            }
        }
        
        /// <remarks/>
        public AWCallbackStatus callbackStatus {
            get {
                return this.callbackStatusField;
            }
            set {
                this.callbackStatusField = value;
            }
        }
        
        /// <remarks/>
        public AWDateTime creationTime {
            get {
                return this.creationTimeField;
            }
            set {
                this.creationTimeField = value;
            }
        }
        
        /// <remarks/>
        public AWActionSource source {
            get {
                return this.sourceField;
            }
            set {
                this.sourceField = value;
            }
        }
        
        /// <remarks/>
        public string mailFrom {
            get {
                return this.mailFromField;
            }
            set {
                this.mailFromField = value;
            }
        }
        
        /// <remarks/>
        public string mailTo {
            get {
                return this.mailToField;
            }
            set {
                this.mailToField = value;
            }
        }
        
        /// <remarks/>
        public string mailCC {
            get {
                return this.mailCCField;
            }
            set {
                this.mailCCField = value;
            }
        }
        
        /// <remarks/>
        public string mailBCC {
            get {
                return this.mailBCCField;
            }
            set {
                this.mailBCCField = value;
            }
        }
        
        /// <remarks/>
        public string comment {
            get {
                return this.commentField;
            }
            set {
                this.commentField = value;
            }
        }
        
        /// <remarks/>
        public long timeAllocated {
            get {
                return this.timeAllocatedField;
            }
            set {
                this.timeAllocatedField = value;
            }
        }
        
        /// <remarks/>
        public string numberUsed {
            get {
                return this.numberUsedField;
            }
            set {
                this.numberUsedField = value;
            }
        }
        
        /// <remarks/>
        public long outboundTalkTime {
            get {
                return this.outboundTalkTimeField;
            }
            set {
                this.outboundTalkTimeField = value;
            }
        }
        
        /// <remarks/>
        public string outboundDispositionCode {
            get {
                return this.outboundDispositionCodeField;
            }
            set {
                this.outboundDispositionCodeField = value;
            }
        }
        
        /// <remarks/>
        public AWContactType actionType {
            get {
                return this.actionTypeField;
            }
            set {
                this.actionTypeField = value;
            }
        }
        
        /// <remarks/>
        public AWCustomField[] customFieldList {
            get {
                return this.customFieldListField;
            }
            set {
                this.customFieldListField = value;
            }
        }
        
        /// <remarks/>
        public AWClosedReasonCode closedReason {
            get {
                return this.closedReasonField;
            }
            set {
                this.closedReasonField = value;
            }
        }
        
        /// <remarks/>
        public AWAttachment[] attachmentList {
            get {
                return this.attachmentListField;
            }
            set {
                this.attachmentListField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public partial class AWAgent {
        
        private long idField;
        
        private string firstNameField;
        
        private string lastNameField;
        
        /// <remarks/>
        public long id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        public string firstName {
            get {
                return this.firstNameField;
            }
            set {
                this.firstNameField = value;
            }
        }
        
        /// <remarks/>
        public string lastName {
            get {
                return this.lastNameField;
            }
            set {
                this.lastNameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public partial class AWDateTime {
        
        private long millisecondsField;
        
        /// <remarks/>
        public long milliseconds {
            get {
                return this.millisecondsField;
            }
            set {
                this.millisecondsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public enum AWCallbackStatus {
        
        /// <remarks/>
        Unknown,
        
        /// <remarks/>
        No_Callback,
        
        /// <remarks/>
        Call_Completed,
        
        /// <remarks/>
        Call_Not_Answered,
        
        /// <remarks/>
        Wrong_Telephone_Number,
        
        /// <remarks/>
        No_Number_Selected,
        
        /// <remarks/>
        Busy,
        
        /// <remarks/>
        Other,
        
        /// <remarks/>
        EMail_In_Queue,
        
        /// <remarks/>
        EMail_Sent,
        
        /// <remarks/>
        EMail_Undeliverable,
        
        /// <remarks/>
        EMail_Not_Sent,
        
        /// <remarks/>
        EMail_Address_Not_Provided,
        
        /// <remarks/>
        EMail_Received,
        
        /// <remarks/>
        EMail_Send_In_Progress,
        
        /// <remarks/>
        Fax_In_Queue,
        
        /// <remarks/>
        Fax_Sent,
        
        /// <remarks/>
        Wrong_Fax_Number,
        
        /// <remarks/>
        Fax_Not_Sent,
        
        /// <remarks/>
        Mail_Posted,
        
        /// <remarks/>
        Response_Cancelled,
        
        /// <remarks/>
        Web_reply,
        
        /// <remarks/>
        Contact_Closed,
        
        /// <remarks/>
        Contact_ReOpened,
        
        /// <remarks/>
        Contact_Transferred,
        
        /// <remarks/>
        Contact_Barred,
        
        /// <remarks/>
        Agent_Note,
        
        /// <remarks/>
        Chat_Response,
        
        /// <remarks/>
        Done,
        
        /// <remarks/>
        Created,
        
        /// <remarks/>
        Received,
        
        /// <remarks/>
        Unspecified,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public enum AWActionSource {
        
        /// <remarks/>
        Not_Available,
        
        /// <remarks/>
        Automated_Response,
        
        /// <remarks/>
        EMail_from_Customer,
        
        /// <remarks/>
        EMail_from_Agent_to_Customer,
        
        /// <remarks/>
        Phone_from_Customer,
        
        /// <remarks/>
        Phone_from_Agent_to_Customer,
        
        /// <remarks/>
        Text_Chat_from_Customer,
        
        /// <remarks/>
        Text_Chat_from_Agent_to_Customer,
        
        /// <remarks/>
        Other_from_Customer,
        
        /// <remarks/>
        Other_from_Agent_to_Customer,
        
        /// <remarks/>
        Transfer_to_Agent,
        
        /// <remarks/>
        Transfer_to_Skillset,
        
        /// <remarks/>
        Transfer_to_External_Agent,
        
        /// <remarks/>
        Agent_Created_Contact,
        
        /// <remarks/>
        Agent_Created,
        
        /// <remarks/>
        Callback_Request_from_Customer,
        
        /// <remarks/>
        Password_Reminder_to_Customer,
        
        /// <remarks/>
        Outbound_Voice_Call_Not_Made,
        
        /// <remarks/>
        Supervisor_Closed,
        
        /// <remarks/>
        Customer_Abandoned_WebOnHold,
        
        /// <remarks/>
        Closed_By_Custom_Application,
        
        /// <remarks/>
        Unspecified,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public enum AWContactType {
        
        /// <remarks/>
        Fax,
        
        /// <remarks/>
        SMS,
        
        /// <remarks/>
        VoiceMail,
        
        /// <remarks/>
        WhiteMail,
        
        /// <remarks/>
        Other,
        
        /// <remarks/>
        ScheduledCallback,
        
        /// <remarks/>
        Voice,
        
        /// <remarks/>
        Email,
        
        /// <remarks/>
        Web_Communications,
        
        /// <remarks/>
        Outbound,
        
        /// <remarks/>
        Video,
        
        /// <remarks/>
        Unspecified,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://datatypes.agentwebservices.ccmm.applications.nortel.com")]
    public enum AWContactPriority {
        
        /// <remarks/>
        Priority_1_Highest,
        
        /// <remarks/>
        Priority_2_High,
        
        /// <remarks/>
        Priority_3_Medium_High,
        
        /// <remarks/>
        Priority_4_Medium_Low,
        
        /// <remarks/>
        Priority_5_Low,
        
        /// <remarks/>
        Priority_6_Lowest,
        
        /// <remarks/>
        Unspecified,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.34209")]
    public delegate void ReadContactCompletedEventHandler(object sender, ReadContactCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.34209")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ReadContactCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ReadContactCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public AWContact Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((AWContact)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.34209")]
    public delegate void CloseContactCompletedEventHandler(object sender, CloseContactCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.34209")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CloseContactCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CloseContactCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public long Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((long)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.34209")]
    public delegate void GetAllClosedReasonCodesCompletedEventHandler(object sender, GetAllClosedReasonCodesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.34209")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAllClosedReasonCodesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAllClosedReasonCodesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public AWClosedReasonCode[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((AWClosedReasonCode[])(this.results[0]));
            }
        }
    }
}

#pragma warning restore 1591