﻿//------------------------------------------------------------------------------
// <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 Purchasing.WS.FinancialRoleService {
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="sys", ConfigurationName="FinancialRoleService.financialSystemRoleServiceSOAP")]
    public interface financialSystemRoleServiceSOAP {
        
        // CODEGEN: Parameter 'return' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'.
        [System.ServiceModel.OperationContractAttribute(Action="sys/financialSystemRoleServiceSOAP/getSimpleAccountInfos", ReplyAction="sys/financialSystemRoleServiceSOAP/getSimpleAccountInfosResponse")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [return: System.ServiceModel.MessageParameterAttribute(Name="return")]
        Purchasing.WS.FinancialRoleService.getSimpleAccountInfosResponse getSimpleAccountInfos(Purchasing.WS.FinancialRoleService.getSimpleAccountInfos request);
        
        // CODEGEN: Parameter 'return' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'.
        [System.ServiceModel.OperationContractAttribute(Action="sys/financialSystemRoleServiceSOAP/getSimpleAccountInfo", ReplyAction="sys/financialSystemRoleServiceSOAP/getSimpleAccountInfoResponse")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [return: System.ServiceModel.MessageParameterAttribute(Name="return")]
        Purchasing.WS.FinancialRoleService.getSimpleAccountInfoResponse getSimpleAccountInfo(Purchasing.WS.FinancialRoleService.getSimpleAccountInfo request);
        
        // CODEGEN: Parameter 'return' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'.
        [System.ServiceModel.OperationContractAttribute(Action="sys/financialSystemRoleServiceSOAP/isUserFiscalOfficerForAccount", ReplyAction="sys/financialSystemRoleServiceSOAP/isUserFiscalOfficerForAccountResponse")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [return: System.ServiceModel.MessageParameterAttribute(Name="return")]
        Purchasing.WS.FinancialRoleService.isUserFiscalOfficerForAccountResponse isUserFiscalOfficerForAccount(Purchasing.WS.FinancialRoleService.isUserFiscalOfficerForAccount request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.6.1590.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="sys")]
    public partial class accountKey : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string accountNumberField;
        
        private string chartOfAccountsCodeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
        public string accountNumber {
            get {
                return this.accountNumberField;
            }
            set {
                this.accountNumberField = value;
                this.RaisePropertyChanged("accountNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
        public string chartOfAccountsCode {
            get {
                return this.chartOfAccountsCodeField;
            }
            set {
                this.chartOfAccountsCodeField = value;
                this.RaisePropertyChanged("chartOfAccountsCode");
            }
        }
        
        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));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.6.1590.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="sys")]
    public partial class simpleAccountInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string accountNameField;
        
        private string accountNumberField;
        
        private string chartOfAccountsCodeField;
        
        private string fiscalOfficerPrincipalIdField;
        
        private string fiscalOfficerPrincipalNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
        public string accountName {
            get {
                return this.accountNameField;
            }
            set {
                this.accountNameField = value;
                this.RaisePropertyChanged("accountName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
        public string accountNumber {
            get {
                return this.accountNumberField;
            }
            set {
                this.accountNumberField = value;
                this.RaisePropertyChanged("accountNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=2)]
        public string chartOfAccountsCode {
            get {
                return this.chartOfAccountsCodeField;
            }
            set {
                this.chartOfAccountsCodeField = value;
                this.RaisePropertyChanged("chartOfAccountsCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=3)]
        public string fiscalOfficerPrincipalId {
            get {
                return this.fiscalOfficerPrincipalIdField;
            }
            set {
                this.fiscalOfficerPrincipalIdField = value;
                this.RaisePropertyChanged("fiscalOfficerPrincipalId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=4)]
        public string fiscalOfficerPrincipalName {
            get {
                return this.fiscalOfficerPrincipalNameField;
            }
            set {
                this.fiscalOfficerPrincipalNameField = value;
                this.RaisePropertyChanged("fiscalOfficerPrincipalName");
            }
        }
        
        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.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(WrapperName="getSimpleAccountInfos", WrapperNamespace="sys", IsWrapped=true)]
    public partial class getSimpleAccountInfos {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="sys", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("accounts", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public Purchasing.WS.FinancialRoleService.accountKey[] accounts;
        
        public getSimpleAccountInfos() {
        }
        
        public getSimpleAccountInfos(Purchasing.WS.FinancialRoleService.accountKey[] accounts) {
            this.accounts = accounts;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(WrapperName="getSimpleAccountInfosResponse", WrapperNamespace="sys", IsWrapped=true)]
    public partial class getSimpleAccountInfosResponse {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="sys", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public Purchasing.WS.FinancialRoleService.simpleAccountInfo[] @return;
        
        public getSimpleAccountInfosResponse() {
        }
        
        public getSimpleAccountInfosResponse(Purchasing.WS.FinancialRoleService.simpleAccountInfo[] @return) {
            this.@return = @return;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(WrapperName="getSimpleAccountInfo", WrapperNamespace="sys", IsWrapped=true)]
    public partial class getSimpleAccountInfo {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="sys", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string chartOfAccountsCode;
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="sys", Order=1)]
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string accountNumber;
        
        public getSimpleAccountInfo() {
        }
        
        public getSimpleAccountInfo(string chartOfAccountsCode, string accountNumber) {
            this.chartOfAccountsCode = chartOfAccountsCode;
            this.accountNumber = accountNumber;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(WrapperName="getSimpleAccountInfoResponse", WrapperNamespace="sys", IsWrapped=true)]
    public partial class getSimpleAccountInfoResponse {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="sys", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public Purchasing.WS.FinancialRoleService.simpleAccountInfo @return;
        
        public getSimpleAccountInfoResponse() {
        }
        
        public getSimpleAccountInfoResponse(Purchasing.WS.FinancialRoleService.simpleAccountInfo @return) {
            this.@return = @return;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(WrapperName="isUserFiscalOfficerForAccount", WrapperNamespace="sys", IsWrapped=true)]
    public partial class isUserFiscalOfficerForAccount {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="sys", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string userId;
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="sys", Order=1)]
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string chartOfAccountsCode;
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="sys", Order=2)]
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string accountNumber;
        
        public isUserFiscalOfficerForAccount() {
        }
        
        public isUserFiscalOfficerForAccount(string userId, string chartOfAccountsCode, string accountNumber) {
            this.userId = userId;
            this.chartOfAccountsCode = chartOfAccountsCode;
            this.accountNumber = accountNumber;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(WrapperName="isUserFiscalOfficerForAccountResponse", WrapperNamespace="sys", IsWrapped=true)]
    public partial class isUserFiscalOfficerForAccountResponse {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="sys", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public bool @return;
        
        public isUserFiscalOfficerForAccountResponse() {
        }
        
        public isUserFiscalOfficerForAccountResponse(bool @return) {
            this.@return = @return;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface financialSystemRoleServiceSOAPChannel : Purchasing.WS.FinancialRoleService.financialSystemRoleServiceSOAP, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class financialSystemRoleServiceSOAPClient : System.ServiceModel.ClientBase<Purchasing.WS.FinancialRoleService.financialSystemRoleServiceSOAP>, Purchasing.WS.FinancialRoleService.financialSystemRoleServiceSOAP {
        
        public financialSystemRoleServiceSOAPClient() {
        }
        
        public financialSystemRoleServiceSOAPClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public financialSystemRoleServiceSOAPClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public financialSystemRoleServiceSOAPClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public financialSystemRoleServiceSOAPClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        Purchasing.WS.FinancialRoleService.getSimpleAccountInfosResponse Purchasing.WS.FinancialRoleService.financialSystemRoleServiceSOAP.getSimpleAccountInfos(Purchasing.WS.FinancialRoleService.getSimpleAccountInfos request) {
            return base.Channel.getSimpleAccountInfos(request);
        }
        
        public Purchasing.WS.FinancialRoleService.simpleAccountInfo[] getSimpleAccountInfos(Purchasing.WS.FinancialRoleService.accountKey[] accounts) {
            Purchasing.WS.FinancialRoleService.getSimpleAccountInfos inValue = new Purchasing.WS.FinancialRoleService.getSimpleAccountInfos();
            inValue.accounts = accounts;
            Purchasing.WS.FinancialRoleService.getSimpleAccountInfosResponse retVal = ((Purchasing.WS.FinancialRoleService.financialSystemRoleServiceSOAP)(this)).getSimpleAccountInfos(inValue);
            return retVal.@return;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        Purchasing.WS.FinancialRoleService.getSimpleAccountInfoResponse Purchasing.WS.FinancialRoleService.financialSystemRoleServiceSOAP.getSimpleAccountInfo(Purchasing.WS.FinancialRoleService.getSimpleAccountInfo request) {
            return base.Channel.getSimpleAccountInfo(request);
        }
        
        public Purchasing.WS.FinancialRoleService.simpleAccountInfo getSimpleAccountInfo(string chartOfAccountsCode, string accountNumber) {
            Purchasing.WS.FinancialRoleService.getSimpleAccountInfo inValue = new Purchasing.WS.FinancialRoleService.getSimpleAccountInfo();
            inValue.chartOfAccountsCode = chartOfAccountsCode;
            inValue.accountNumber = accountNumber;
            Purchasing.WS.FinancialRoleService.getSimpleAccountInfoResponse retVal = ((Purchasing.WS.FinancialRoleService.financialSystemRoleServiceSOAP)(this)).getSimpleAccountInfo(inValue);
            return retVal.@return;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        Purchasing.WS.FinancialRoleService.isUserFiscalOfficerForAccountResponse Purchasing.WS.FinancialRoleService.financialSystemRoleServiceSOAP.isUserFiscalOfficerForAccount(Purchasing.WS.FinancialRoleService.isUserFiscalOfficerForAccount request) {
            return base.Channel.isUserFiscalOfficerForAccount(request);
        }
        
        public bool isUserFiscalOfficerForAccount(string userId, string chartOfAccountsCode, string accountNumber) {
            Purchasing.WS.FinancialRoleService.isUserFiscalOfficerForAccount inValue = new Purchasing.WS.FinancialRoleService.isUserFiscalOfficerForAccount();
            inValue.userId = userId;
            inValue.chartOfAccountsCode = chartOfAccountsCode;
            inValue.accountNumber = accountNumber;
            Purchasing.WS.FinancialRoleService.isUserFiscalOfficerForAccountResponse retVal = ((Purchasing.WS.FinancialRoleService.financialSystemRoleServiceSOAP)(this)).isUserFiscalOfficerForAccount(inValue);
            return retVal.@return;
        }
    }
}
