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

namespace MemoQServicesClient.ELMService {
    using System.Runtime.Serialization;
    using System;
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ELMProduct", Namespace="http://schemas.datacontract.org/2004/07/MemoQServices")]
    public enum ELMProduct : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        MemoQTranslatorPro = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        MemoQPM = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        MemoQTranslatorLight = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        CustomerPortal = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        NonExistingProduct = 1000,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ELMAssignment", Namespace="http://kilgray.com/memoqservices/2007")]
    [System.SerializableAttribute()]
    public partial class ELMAssignment : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime AssignedAtField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid AssignmentGuidField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private MemoQServicesClient.ELMService.ELMAssignmentType AssignmentTypeField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime ExpiryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private MemoQServicesClient.ELMService.ELMProduct ProductField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime ReturnedAtField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid UserGuidField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string UserNameField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime AssignedAt {
            get {
                return this.AssignedAtField;
            }
            set {
                if ((this.AssignedAtField.Equals(value) != true)) {
                    this.AssignedAtField = value;
                    this.RaisePropertyChanged("AssignedAt");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid AssignmentGuid {
            get {
                return this.AssignmentGuidField;
            }
            set {
                if ((this.AssignmentGuidField.Equals(value) != true)) {
                    this.AssignmentGuidField = value;
                    this.RaisePropertyChanged("AssignmentGuid");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public MemoQServicesClient.ELMService.ELMAssignmentType AssignmentType {
            get {
                return this.AssignmentTypeField;
            }
            set {
                if ((this.AssignmentTypeField.Equals(value) != true)) {
                    this.AssignmentTypeField = value;
                    this.RaisePropertyChanged("AssignmentType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime Expiry {
            get {
                return this.ExpiryField;
            }
            set {
                if ((this.ExpiryField.Equals(value) != true)) {
                    this.ExpiryField = value;
                    this.RaisePropertyChanged("Expiry");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public MemoQServicesClient.ELMService.ELMProduct Product {
            get {
                return this.ProductField;
            }
            set {
                if ((this.ProductField.Equals(value) != true)) {
                    this.ProductField = value;
                    this.RaisePropertyChanged("Product");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime ReturnedAt {
            get {
                return this.ReturnedAtField;
            }
            set {
                if ((this.ReturnedAtField.Equals(value) != true)) {
                    this.ReturnedAtField = value;
                    this.RaisePropertyChanged("ReturnedAt");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid UserGuid {
            get {
                return this.UserGuidField;
            }
            set {
                if ((this.UserGuidField.Equals(value) != true)) {
                    this.UserGuidField = value;
                    this.RaisePropertyChanged("UserGuid");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string UserName {
            get {
                return this.UserNameField;
            }
            set {
                if ((object.ReferenceEquals(this.UserNameField, value) != true)) {
                    this.UserNameField = value;
                    this.RaisePropertyChanged("UserName");
                }
            }
        }
        
        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.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ELMAssignmentType", Namespace="http://schemas.datacontract.org/2004/07/MemoQServices")]
    public enum ELMAssignmentType : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Manual = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        WebTrans = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Plugin = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Permission = 3,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="UnexpectedFault", Namespace="http://kilgray.com/memoqservices/2007")]
    [System.SerializableAttribute()]
    public partial class UnexpectedFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string StackTraceField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string StackTrace {
            get {
                return this.StackTraceField;
            }
            set {
                if ((object.ReferenceEquals(this.StackTraceField, value) != true)) {
                    this.StackTraceField = value;
                    this.RaisePropertyChanged("StackTrace");
                }
            }
        }
        
        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="GenericFault", Namespace="http://kilgray.com/memoqservices/2007")]
    [System.SerializableAttribute()]
    public partial class GenericFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ErrorCodeField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ErrorCode {
            get {
                return this.ErrorCodeField;
            }
            set {
                if ((object.ReferenceEquals(this.ErrorCodeField, value) != true)) {
                    this.ErrorCodeField = value;
                    this.RaisePropertyChanged("ErrorCode");
                }
            }
        }
        
        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="ELMFault", Namespace="http://kilgray.com/memoqservices/2007")]
    [System.SerializableAttribute()]
    public partial class ELMFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ErrorCodeField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ErrorCode {
            get {
                return this.ErrorCodeField;
            }
            set {
                if ((object.ReferenceEquals(this.ErrorCodeField, value) != true)) {
                    this.ErrorCodeField = value;
                    this.RaisePropertyChanged("ErrorCode");
                }
            }
        }
        
        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="ELMPermission", Namespace="http://kilgray.com/memoqservices/2007")]
    [System.SerializableAttribute()]
    public partial class ELMPermission : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private bool CALMultiUserAllowedField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime ExpiryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int PermissionIdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private MemoQServicesClient.ELMService.ELMProduct ProductField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid UserOrGroupGuidField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string UserOrGroupNameField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool CALMultiUserAllowed {
            get {
                return this.CALMultiUserAllowedField;
            }
            set {
                if ((this.CALMultiUserAllowedField.Equals(value) != true)) {
                    this.CALMultiUserAllowedField = value;
                    this.RaisePropertyChanged("CALMultiUserAllowed");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime Expiry {
            get {
                return this.ExpiryField;
            }
            set {
                if ((this.ExpiryField.Equals(value) != true)) {
                    this.ExpiryField = value;
                    this.RaisePropertyChanged("Expiry");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int PermissionId {
            get {
                return this.PermissionIdField;
            }
            set {
                if ((this.PermissionIdField.Equals(value) != true)) {
                    this.PermissionIdField = value;
                    this.RaisePropertyChanged("PermissionId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public MemoQServicesClient.ELMService.ELMProduct Product {
            get {
                return this.ProductField;
            }
            set {
                if ((this.ProductField.Equals(value) != true)) {
                    this.ProductField = value;
                    this.RaisePropertyChanged("Product");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid UserOrGroupGuid {
            get {
                return this.UserOrGroupGuidField;
            }
            set {
                if ((this.UserOrGroupGuidField.Equals(value) != true)) {
                    this.UserOrGroupGuidField = value;
                    this.RaisePropertyChanged("UserOrGroupGuid");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string UserOrGroupName {
            get {
                return this.UserOrGroupNameField;
            }
            set {
                if ((object.ReferenceEquals(this.UserOrGroupNameField, value) != true)) {
                    this.UserOrGroupNameField = value;
                    this.RaisePropertyChanged("UserOrGroupName");
                }
            }
        }
        
        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="ELMProjectPermission", Namespace="http://kilgray.com/memoqservices/2007")]
    [System.SerializableAttribute()]
    public partial class ELMProjectPermission : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime ExpiryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid ProjectGuidField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string ProjectNameField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.Guid UserGuidField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string UserNameField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime Expiry {
            get {
                return this.ExpiryField;
            }
            set {
                if ((this.ExpiryField.Equals(value) != true)) {
                    this.ExpiryField = value;
                    this.RaisePropertyChanged("Expiry");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid ProjectGuid {
            get {
                return this.ProjectGuidField;
            }
            set {
                if ((this.ProjectGuidField.Equals(value) != true)) {
                    this.ProjectGuidField = value;
                    this.RaisePropertyChanged("ProjectGuid");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ProjectName {
            get {
                return this.ProjectNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ProjectNameField, value) != true)) {
                    this.ProjectNameField = value;
                    this.RaisePropertyChanged("ProjectName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Guid UserGuid {
            get {
                return this.UserGuidField;
            }
            set {
                if ((this.UserGuidField.Equals(value) != true)) {
                    this.UserGuidField = value;
                    this.RaisePropertyChanged("UserGuid");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string UserName {
            get {
                return this.UserNameField;
            }
            set {
                if ((object.ReferenceEquals(this.UserNameField, value) != true)) {
                    this.UserNameField = value;
                    this.RaisePropertyChanged("UserName");
                }
            }
        }
        
        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="ELMPoolInfo", Namespace="http://kilgray.com/memoqservices/2007")]
    [System.SerializableAttribute()]
    public partial class ELMPoolInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int AvailableCountField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private MemoQServicesClient.ELMService.ELMProduct ELMProductField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int PoolSizeField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int AvailableCount {
            get {
                return this.AvailableCountField;
            }
            set {
                if ((this.AvailableCountField.Equals(value) != true)) {
                    this.AvailableCountField = value;
                    this.RaisePropertyChanged("AvailableCount");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public MemoQServicesClient.ELMService.ELMProduct ELMProduct {
            get {
                return this.ELMProductField;
            }
            set {
                if ((this.ELMProductField.Equals(value) != true)) {
                    this.ELMProductField = value;
                    this.RaisePropertyChanged("ELMProduct");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int PoolSize {
            get {
                return this.PoolSizeField;
            }
            set {
                if ((this.PoolSizeField.Equals(value) != true)) {
                    this.PoolSizeField = value;
                    this.RaisePropertyChanged("PoolSize");
                }
            }
        }
        
        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.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://kilgray.com/memoqservices/2007", ConfigurationName="ELMService.IELMService")]
    public interface IELMService {
        
        [System.ServiceModel.OperationContractAttribute(Action="http://kilgray.com/memoqservices/2007/IELMService/ListLicenseAssignments", ReplyAction="http://kilgray.com/memoqservices/2007/IELMService/ListLicenseAssignmentsResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.UnexpectedFault), Action="http://kilgray.com/memoqservices/2007/IELMService/ListLicenseAssignmentsUnexpecte" +
            "dFaultFault", Name="UnexpectedFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.GenericFault), Action="http://kilgray.com/memoqservices/2007/IELMService/ListLicenseAssignmentsGenericFa" +
            "ultFault", Name="GenericFault")]
        MemoQServicesClient.ELMService.ELMAssignment[] ListLicenseAssignments(MemoQServicesClient.ELMService.ELMProduct product, bool includeExpiredAndReturned);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://kilgray.com/memoqservices/2007/IELMService/AssignLicense", ReplyAction="http://kilgray.com/memoqservices/2007/IELMService/AssignLicenseResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.ELMFault), Action="http://kilgray.com/memoqservices/2007/IELMService/AssignLicenseELMFaultFault", Name="ELMFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.UnexpectedFault), Action="http://kilgray.com/memoqservices/2007/IELMService/AssignLicenseUnexpectedFaultFau" +
            "lt", Name="UnexpectedFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.GenericFault), Action="http://kilgray.com/memoqservices/2007/IELMService/AssignLicenseGenericFaultFault", Name="GenericFault")]
        System.Guid AssignLicense(MemoQServicesClient.ELMService.ELMProduct product, System.Guid userGuid, System.DateTime expiry);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://kilgray.com/memoqservices/2007/IELMService/SetAssignmentExpiry", ReplyAction="http://kilgray.com/memoqservices/2007/IELMService/SetAssignmentExpiryResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.ELMFault), Action="http://kilgray.com/memoqservices/2007/IELMService/SetAssignmentExpiryELMFaultFaul" +
            "t", Name="ELMFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.UnexpectedFault), Action="http://kilgray.com/memoqservices/2007/IELMService/SetAssignmentExpiryUnexpectedFa" +
            "ultFault", Name="UnexpectedFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.GenericFault), Action="http://kilgray.com/memoqservices/2007/IELMService/SetAssignmentExpiryGenericFault" +
            "Fault", Name="GenericFault")]
        void SetAssignmentExpiry(System.Guid assignmentGuid, System.DateTime newExpiry);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://kilgray.com/memoqservices/2007/IELMService/RevokeAssignment", ReplyAction="http://kilgray.com/memoqservices/2007/IELMService/RevokeAssignmentResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.ELMFault), Action="http://kilgray.com/memoqservices/2007/IELMService/RevokeAssignmentELMFaultFault", Name="ELMFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.UnexpectedFault), Action="http://kilgray.com/memoqservices/2007/IELMService/RevokeAssignmentUnexpectedFault" +
            "Fault", Name="UnexpectedFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.GenericFault), Action="http://kilgray.com/memoqservices/2007/IELMService/RevokeAssignmentGenericFaultFau" +
            "lt", Name="GenericFault")]
        void RevokeAssignment(System.Guid assignmentGuid);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://kilgray.com/memoqservices/2007/IELMService/ListLicensePermissions", ReplyAction="http://kilgray.com/memoqservices/2007/IELMService/ListLicensePermissionsResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.UnexpectedFault), Action="http://kilgray.com/memoqservices/2007/IELMService/ListLicensePermissionsUnexpecte" +
            "dFaultFault", Name="UnexpectedFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.GenericFault), Action="http://kilgray.com/memoqservices/2007/IELMService/ListLicensePermissionsGenericFa" +
            "ultFault", Name="GenericFault")]
        MemoQServicesClient.ELMService.ELMPermission[] ListLicensePermissions(MemoQServicesClient.ELMService.ELMProduct product, bool includeExpired);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://kilgray.com/memoqservices/2007/IELMService/AddPermission", ReplyAction="http://kilgray.com/memoqservices/2007/IELMService/AddPermissionResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.ELMFault), Action="http://kilgray.com/memoqservices/2007/IELMService/AddPermissionELMFaultFault", Name="ELMFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.UnexpectedFault), Action="http://kilgray.com/memoqservices/2007/IELMService/AddPermissionUnexpectedFaultFau" +
            "lt", Name="UnexpectedFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.GenericFault), Action="http://kilgray.com/memoqservices/2007/IELMService/AddPermissionGenericFaultFault", Name="GenericFault")]
        int AddPermission(MemoQServicesClient.ELMService.ELMProduct product, System.Guid guidOfUserOrGroup, System.DateTime expiry);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://kilgray.com/memoqservices/2007/IELMService/SetPermissionExpiry", ReplyAction="http://kilgray.com/memoqservices/2007/IELMService/SetPermissionExpiryResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.ELMFault), Action="http://kilgray.com/memoqservices/2007/IELMService/SetPermissionExpiryELMFaultFaul" +
            "t", Name="ELMFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.UnexpectedFault), Action="http://kilgray.com/memoqservices/2007/IELMService/SetPermissionExpiryUnexpectedFa" +
            "ultFault", Name="UnexpectedFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.GenericFault), Action="http://kilgray.com/memoqservices/2007/IELMService/SetPermissionExpiryGenericFault" +
            "Fault", Name="GenericFault")]
        void SetPermissionExpiry(int permissionId, System.DateTime newExpiry);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://kilgray.com/memoqservices/2007/IELMService/RevokePermission", ReplyAction="http://kilgray.com/memoqservices/2007/IELMService/RevokePermissionResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.ELMFault), Action="http://kilgray.com/memoqservices/2007/IELMService/RevokePermissionELMFaultFault", Name="ELMFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.UnexpectedFault), Action="http://kilgray.com/memoqservices/2007/IELMService/RevokePermissionUnexpectedFault" +
            "Fault", Name="UnexpectedFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.GenericFault), Action="http://kilgray.com/memoqservices/2007/IELMService/RevokePermissionGenericFaultFau" +
            "lt", Name="GenericFault")]
        void RevokePermission(int permissionId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://kilgray.com/memoqservices/2007/IELMService/ListProjectPermissions", ReplyAction="http://kilgray.com/memoqservices/2007/IELMService/ListProjectPermissionsResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.UnexpectedFault), Action="http://kilgray.com/memoqservices/2007/IELMService/ListProjectPermissionsUnexpecte" +
            "dFaultFault", Name="UnexpectedFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.GenericFault), Action="http://kilgray.com/memoqservices/2007/IELMService/ListProjectPermissionsGenericFa" +
            "ultFault", Name="GenericFault")]
        MemoQServicesClient.ELMService.ELMProjectPermission[] ListProjectPermissions();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://kilgray.com/memoqservices/2007/IELMService/ListELMPools", ReplyAction="http://kilgray.com/memoqservices/2007/IELMService/ListELMPoolsResponse")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.UnexpectedFault), Action="http://kilgray.com/memoqservices/2007/IELMService/ListELMPoolsUnexpectedFaultFaul" +
            "t", Name="UnexpectedFault")]
        [System.ServiceModel.FaultContractAttribute(typeof(MemoQServicesClient.ELMService.GenericFault), Action="http://kilgray.com/memoqservices/2007/IELMService/ListELMPoolsGenericFaultFault", Name="GenericFault")]
        MemoQServicesClient.ELMService.ELMPoolInfo[] ListELMPools();
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface IELMServiceChannel : MemoQServicesClient.ELMService.IELMService, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class ELMServiceClient : System.ServiceModel.ClientBase<MemoQServicesClient.ELMService.IELMService>, MemoQServicesClient.ELMService.IELMService {
        
        public ELMServiceClient() {
        }
        
        public ELMServiceClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public ELMServiceClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public ELMServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public ELMServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        public MemoQServicesClient.ELMService.ELMAssignment[] ListLicenseAssignments(MemoQServicesClient.ELMService.ELMProduct product, bool includeExpiredAndReturned) {
            return base.Channel.ListLicenseAssignments(product, includeExpiredAndReturned);
        }
        
        public System.Guid AssignLicense(MemoQServicesClient.ELMService.ELMProduct product, System.Guid userGuid, System.DateTime expiry) {
            return base.Channel.AssignLicense(product, userGuid, expiry);
        }
        
        public void SetAssignmentExpiry(System.Guid assignmentGuid, System.DateTime newExpiry) {
            base.Channel.SetAssignmentExpiry(assignmentGuid, newExpiry);
        }
        
        public void RevokeAssignment(System.Guid assignmentGuid) {
            base.Channel.RevokeAssignment(assignmentGuid);
        }
        
        public MemoQServicesClient.ELMService.ELMPermission[] ListLicensePermissions(MemoQServicesClient.ELMService.ELMProduct product, bool includeExpired) {
            return base.Channel.ListLicensePermissions(product, includeExpired);
        }
        
        public int AddPermission(MemoQServicesClient.ELMService.ELMProduct product, System.Guid guidOfUserOrGroup, System.DateTime expiry) {
            return base.Channel.AddPermission(product, guidOfUserOrGroup, expiry);
        }
        
        public void SetPermissionExpiry(int permissionId, System.DateTime newExpiry) {
            base.Channel.SetPermissionExpiry(permissionId, newExpiry);
        }
        
        public void RevokePermission(int permissionId) {
            base.Channel.RevokePermission(permissionId);
        }
        
        public MemoQServicesClient.ELMService.ELMProjectPermission[] ListProjectPermissions() {
            return base.Channel.ListProjectPermissions();
        }
        
        public MemoQServicesClient.ELMService.ELMPoolInfo[] ListELMPools() {
            return base.Channel.ListELMPools();
        }
    }
}
