コード例 #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
        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);
        }