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); }
/// <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); }