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); }
private void Instance_AccountInfoMergeCompleted(object sender, AccountInfoMergeCompletedEventArgs e) { // model representing Gigya DS data that has been merged with the getAccountInfo model dynamic gigyaAccountInfoWithDsDataMerged = e.GigyaModel; try { // assuming I have a ds field called ds.addressInfo.line1_s then I would use this code to change the value gigyaAccountInfoWithDsDataMerged.ds.addressInfo.line1_s = "first line of address"; } catch (Exception ex) { e.Logger.Error("Error in Instance_AccountInfoMergeCompleted.", ex); } //ManuallyRetrieveDsData((int)e.CurrentSiteId); }