예제 #1
0
        protected ExpandoObject GetAccountInfo(object currentSiteId, IGigyaModuleSettings settings, GSResponse userInfoResponse, List <MappingField> mappingFields)
        {
            var userInfo = JsonConvert.DeserializeObject <ExpandoObject>(userInfoResponse.GetResponseText());

            ThrowTestingExceptionIfRequired(settings, userInfo);

            var siteId = ConvertCurrentSiteId(currentSiteId);

            // fire getAccountInfo completed event
            var getAccountInfoCompletedArgs = new GetAccountInfoCompletedEventArgs
            {
                GigyaModel    = userInfo,
                Settings      = settings,
                Logger        = _logger,
                MappingFields = mappingFields,
                CurrentSiteId = siteId
            };

            GigyaEventHub.Instance.RaiseGetAccountInfoCompleted(this, getAccountInfoCompletedArgs);

            // fire merge getAccountInfo completed event
            var accountInfoMergeCompletedArgs = new AccountInfoMergeCompletedEventArgs
            {
                GigyaModel    = getAccountInfoCompletedArgs.GigyaModel,
                Settings      = settings,
                Logger        = _logger,
                CurrentSiteId = siteId
            };

            GigyaEventHub.Instance.RaiseAccountInfoMergeCompleted(this, accountInfoMergeCompletedArgs);
            return(accountInfoMergeCompletedArgs.GigyaModel);
        }
예제 #2
0
        /// <summary>
        /// Event that is called whenever the user's data is retrieved with getAccountInfo.
        /// This method retrieves the ds data and merges it with the getAccountInfo object.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void GigyaEventHub_GetAccountInfoCompleted(object sender, GetAccountInfoCompletedEventArgs e)
        {
            var settingsHelper = new GigyaSitefinityDsSettingsHelper(e.Logger);
            var settings       = settingsHelper.Get((Guid)e.CurrentSiteId);

            // merge ds data with account info
            var helper = new GigyaSitefinityDsHelper(e.Settings, e.Logger, settings);

            e.GigyaModel = helper.Merge(e.GigyaModel, e.MappingFields);
        }