//------------------------------------------------------------------------------
// <auto-generated>
//     이 코드는 도구를 사용하여 생성되었습니다.
//     런타임 버전:4.0.30319.42000
//
//     파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
//     이러한 변경 내용이 손실됩니다.
// </auto-generated>
//------------------------------------------------------------------------------

namespace OpenTax.WcfMailer {
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07", ConfigurationName="WcfMailer.IMailerService")]
    public interface IMailerService {
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/WriteLo" +
            "g", ReplyAction="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/WriteLo" +
            "gResponse")]
        void WriteLog(System.Guid p_certapp, string p_exception, string p_message);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/WriteLo" +
            "g", ReplyAction="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/WriteLo" +
            "gResponse")]
        System.Threading.Tasks.Task WriteLogAsync(System.Guid p_certapp, string p_exception, string p_message);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/SendWit" +
            "hDateRange", ReplyAction="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/SendWit" +
            "hDateRangeResponse")]
        int SendWithDateRange(System.Guid p_certapp, string p_invoicerId, System.DateTime p_fromDay, System.DateTime p_tillDay);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/SendWit" +
            "hDateRange", ReplyAction="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/SendWit" +
            "hDateRangeResponse")]
        System.Threading.Tasks.Task<int> SendWithDateRangeAsync(System.Guid p_certapp, string p_invoicerId, System.DateTime p_fromDay, System.DateTime p_tillDay);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/SendWit" +
            "hIssueIDs", ReplyAction="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/SendWit" +
            "hIssueIDsResponse")]
        int SendWithIssueIDs(System.Guid p_certapp, string p_invoicerId, string[] p_issueIDs);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/SendWit" +
            "hIssueIDs", ReplyAction="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/SendWit" +
            "hIssueIDsResponse")]
        System.Threading.Tasks.Task<int> SendWithIssueIDsAsync(System.Guid p_certapp, string p_invoicerId, string[] p_issueIDs);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/ReSendW" +
            "ithIssueID", ReplyAction="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/ReSendW" +
            "ithIssueIDResponse")]
        int ReSendWithIssueID(System.Guid p_certapp, string p_invoicerId, string p_issue_id, string p_newMailAddress);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/ReSendW" +
            "ithIssueID", ReplyAction="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/ReSendW" +
            "ithIssueIDResponse")]
        System.Threading.Tasks.Task<int> ReSendWithIssueIDAsync(System.Guid p_certapp, string p_invoicerId, string p_issue_id, string p_newMailAddress);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/ClearXF" +
            "lag", ReplyAction="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/ClearXF" +
            "lagResponse")]
        int ClearXFlag(System.Guid p_certapp, string p_invoicerId);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/ClearXF" +
            "lag", ReplyAction="http://www.odinsoftware.co.kr/open/etaxbill/mailer/2016/07/IMailerService/ClearXF" +
            "lagResponse")]
        System.Threading.Tasks.Task<int> ClearXFlagAsync(System.Guid p_certapp, string p_invoicerId);
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface IMailerServiceChannel : OpenTax.WcfMailer.IMailerService, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class MailerServiceClient : System.ServiceModel.ClientBase<OpenTax.WcfMailer.IMailerService>, OpenTax.WcfMailer.IMailerService {
        
        public MailerServiceClient() {
        }
        
        public MailerServiceClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public MailerServiceClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public MailerServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public MailerServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        public void WriteLog(System.Guid p_certapp, string p_exception, string p_message) {
            base.Channel.WriteLog(p_certapp, p_exception, p_message);
        }
        
        public System.Threading.Tasks.Task WriteLogAsync(System.Guid p_certapp, string p_exception, string p_message) {
            return base.Channel.WriteLogAsync(p_certapp, p_exception, p_message);
        }
        
        public int SendWithDateRange(System.Guid p_certapp, string p_invoicerId, System.DateTime p_fromDay, System.DateTime p_tillDay) {
            return base.Channel.SendWithDateRange(p_certapp, p_invoicerId, p_fromDay, p_tillDay);
        }
        
        public System.Threading.Tasks.Task<int> SendWithDateRangeAsync(System.Guid p_certapp, string p_invoicerId, System.DateTime p_fromDay, System.DateTime p_tillDay) {
            return base.Channel.SendWithDateRangeAsync(p_certapp, p_invoicerId, p_fromDay, p_tillDay);
        }
        
        public int SendWithIssueIDs(System.Guid p_certapp, string p_invoicerId, string[] p_issueIDs) {
            return base.Channel.SendWithIssueIDs(p_certapp, p_invoicerId, p_issueIDs);
        }
        
        public System.Threading.Tasks.Task<int> SendWithIssueIDsAsync(System.Guid p_certapp, string p_invoicerId, string[] p_issueIDs) {
            return base.Channel.SendWithIssueIDsAsync(p_certapp, p_invoicerId, p_issueIDs);
        }
        
        public int ReSendWithIssueID(System.Guid p_certapp, string p_invoicerId, string p_issue_id, string p_newMailAddress) {
            return base.Channel.ReSendWithIssueID(p_certapp, p_invoicerId, p_issue_id, p_newMailAddress);
        }
        
        public System.Threading.Tasks.Task<int> ReSendWithIssueIDAsync(System.Guid p_certapp, string p_invoicerId, string p_issue_id, string p_newMailAddress) {
            return base.Channel.ReSendWithIssueIDAsync(p_certapp, p_invoicerId, p_issue_id, p_newMailAddress);
        }
        
        public int ClearXFlag(System.Guid p_certapp, string p_invoicerId) {
            return base.Channel.ClearXFlag(p_certapp, p_invoicerId);
        }
        
        public System.Threading.Tasks.Task<int> ClearXFlagAsync(System.Guid p_certapp, string p_invoicerId) {
            return base.Channel.ClearXFlagAsync(p_certapp, p_invoicerId);
        }
    }
}
