コード例 #1
0
        public SiteMember GetMember(object membershipId)
        {
            const string logMethodName = ".GetMember(object membershipId)";

            _log.Debug(logMethodName + " - Begin Method");
            IMemberAccountData accountData = null;
            IMemberProfileData profileData = null;

            try
            {
                _log.Debug(logMethodName + " - Calling ISecurityAdapter.GetMember(membershipId)");

                accountData = _adapter.GetMember(membershipId);
            }
            catch (Exception ex)
            {
                _log.Error(logMethodName + " - Error retrieving member accound data from Security Adapter " + _adapter.GetType().FullName);

                throw new WtfException(logMethodName + " - Error retrieving member accound data from Security Adapter" + _adapter.GetType().FullName, ex);
            }

            try
            {
                _log.Debug(logMethodName + " - Calling IContextDataAdapter.GetMemberProfile(membershipId)");

                profileData = _provider.GetMemberProfile(accountData.MemberId);
            }
            catch (Exception ex)
            {
                _log.Error(logMethodName + " - Error retrieving member accound data from Data Provider" + _provider.GetType().FullName, ex);

                throw new WtfException(logMethodName + " - Error retrieving member accound data from Data Provider " + _provider.GetType().FullName, ex);
            }

            SiteMember siteMember = null;

            try
            {
                siteMember = new SiteMember(accountData, profileData);
            }
            catch (Exception ex)
            {
                _log.Error(logMethodName + " - Unable to create SiteMember(MemberAccountData, MemberProfileData) instance", ex);

                throw new WtfException(logMethodName + " - Unable to create SiteMember(MemberAccountData, MemberProfileData) instance", ex);
            }

            _log.Debug(logMethodName + " - End Method");
            return(siteMember);
        }