public static argtype TranslateToSfgRequest(CustomerUpdateServiceRequest ahRequest)
        {
            EventLogger.LogEvent("ENTERING -> SFGWrapper.CustomerUpdateTranslators.TranslateToSfgRequest()");
            argtype sfgRequest = new argtype();

            #region readonly properties
            sfgRequest.org = ahRequest.Org;
            sfgRequest.test_mode = ahRequest.TestMode ? "Y" : "N";
            sfgRequest.app_version = ahRequest.AppVersion;
            sfgRequest.program_type_id = ahRequest.ProgramTypeId;
            #endregion

            sfgRequest.customer_number = ahRequest.MemberToUpdate.MemberId;
            sfgRequest.title = ahRequest.MemberToUpdate.Salutation;
            sfgRequest.first = ahRequest.MemberToUpdate.FirstName;
            sfgRequest.mi = ahRequest.MemberToUpdate.MiddleInitial;
            sfgRequest.last = ahRequest.MemberToUpdate.LastName;
            sfgRequest.suffix = ahRequest.MemberToUpdate.Suffix;
            sfgRequest.professional_title = ahRequest.MemberToUpdate.ProfessionalTitle;
            sfgRequest.email = ahRequest.MemberToUpdate.Email;
            sfgRequest.optin = ahRequest.MemberToUpdate.OptIn ? "Y" : "N";

            sfgRequest.business_name = ahRequest.MemberToUpdate.Address.BusinessName;
            sfgRequest.add1 = ahRequest.MemberToUpdate.Address.Address1;
            sfgRequest.add2 = ahRequest.MemberToUpdate.Address.Address2;
            sfgRequest.add3 = ahRequest.MemberToUpdate.Address.Address3;
            sfgRequest.city = ahRequest.MemberToUpdate.Address.City;
            sfgRequest.st = ahRequest.MemberToUpdate.Address.State;
            sfgRequest.zip = ahRequest.MemberToUpdate.Address.PostalCode;
            sfgRequest.country = ahRequest.MemberToUpdate.Address.Country;
            sfgRequest.phone = ahRequest.MemberToUpdate.Address.Phone;
            sfgRequest.fax = ahRequest.MemberToUpdate.Address.Fax;
            sfgRequest.altcity = ahRequest.MemberToUpdate.Address.AltCity;

            EventLogger.LogEvent("LEAVING -> SFGWrapper.CustomerUpdateTranslators.TranslateToSfgRequest()");
            return sfgRequest;
        }
        public static BaseResponse UpdateMember(CustomerUpdateServiceRequest ahRequest)
        {
            string className = "SFGWrapper.CustomerUpdate";
            BaseResponse baseResponse = new BaseResponse();
            try
            {
                using (CustomerUpdateService svc = new CustomerUpdateService())
                {
                    svc.Timeout = 20000;
                    svc.Credentials = new System.Net.NetworkCredential(ahRequest.ServiceUsername, ahRequest.ServicePassword);
                    argtype sfgRequest = CustomerUpdateTranslators.TranslateToSfgRequest(ahRequest);
                    baseResponse = CustomerUpdateTranslators.UpdateCustomer(svc.process_wsdl(sfgRequest));
                }
                if (baseResponse == null)
                {
                    baseResponse = new BaseResponse();
                    FatalErrorResponse fatalError = new FatalErrorResponse();
                    baseResponse.TypedResponse = fatalError;
                    baseResponse.Messages.Add(new Message("SFGFatalError"));
                }

            }
            catch (Exception ex)
            {
                baseResponse = new BaseResponse();
                FatalErrorResponse fatalError = new FatalErrorResponse();
                baseResponse.TypedResponse = fatalError;
                Message error = new Message("UnknownException");
                baseResponse.DebugStringLog.Add(ex.TargetSite.Name);
                baseResponse.DebugStringLog.Add(ex.Message);
                baseResponse.DebugStringLog.Add(ex.StackTrace);
                baseResponse.Messages.Add(error);
                EventLogger.LogError(string.Format("{0}.UpdateMember()", className),
                    string.Format("Message: {0} \r\nStackTrace: {1}", ex.Message, ex.StackTrace));
            }
            return baseResponse;
        }