public AddCustomerResult AddCustomer(AddCustomerRequest addCustomerRequest)
        {
            try
            {
                _avaLog.Debug("AvaCertSvc.AddCustomer");
                _avaLog.Debug("Validate request");
                Utilities.VerifyRequestObject(addCustomerRequest);

                _avaLog.Debug("Copying customer into proxy object");
                ProxyAddCustomerRequest proxyRequest = new ProxyAddCustomerRequest();
                addCustomerRequest.CopyTo(proxyRequest);

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

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

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

                return(localResult);
            }
            catch (Exception ex)
            {
                return(AddCustomerResult.CastFromBaseResult(ExceptionManager.HandleException(ex)));
            }
        }
        /// <summary>
        /// Creates a new AddCustomerResult based on a <see cref="BaseResult"/>.
        /// </summary>
        /// <param name="baseResult"></param>
        /// <returns></returns>
        internal static AddCustomerResult CastFromBaseResult(BaseResult baseResult)
        {
            AddCustomerResult result = new AddCustomerResult();

            result.CopyFrom(baseResult);
            return(result);
        }