/// <summary>
        /// Creates a new GetExemptionCertificatesResult based on a <see cref="BaseResult"/>.
        /// </summary>
        /// <param name="baseResult"></param>
        /// <returns></returns>
        internal static GetExemptionCertificatesResult CastFromBaseResult(BaseResult baseResult)
        {
            GetExemptionCertificatesResult result = new GetExemptionCertificatesResult();

            result.CopyFrom(baseResult);
            return(result);
        }
        public GetExemptionCertificatesResult GetExemptionCertificates(GetExemptionCertificatesRequest getExemptionCertificatesRequest)
        {
            try
            {
                _avaLog.Debug("AvaCertSvc.GetExemptionCertificates");
                _avaLog.Debug("Validate request");
                Utilities.VerifyRequestObject(getExemptionCertificatesRequest);

                _avaLog.Debug("Copying ExemptionCertificates into proxy object");
                ProxyGetExemptionCertificatesRequest proxyRequest = new ProxyGetExemptionCertificatesRequest();
                getExemptionCertificatesRequest.CopyTo(proxyRequest);

                ProxyGetExemptionCertificatesResult svcResult = (ProxyGetExemptionCertificatesResult)base.InvokeService(typeof(ProxyAvaCertSvc), MethodBase.GetCurrentMethod().Name, new object[] { proxyRequest });

                _avaLog.Debug("Copying result from proxy object");

                GetExemptionCertificatesResult localResult = new GetExemptionCertificatesResult();
                localResult.CopyFrom(svcResult);

                return(localResult);
            }
            catch (Exception ex)
            {
                return(GetExemptionCertificatesResult.CastFromBaseResult(ExceptionManager.HandleException(ex)));
            }
        }