Ejemplo n.º 1
0
        /// <summary>
        /// Called by the client to save the updated settings.
        /// </summary>
        /// <param name="context"></param>
        /// <param name="key"></param>
        /// <param name="itemType"></param>
        /// <param name="siteId"></param>
        /// <param name="inheritanceState"></param>
        public void SaveSettings(SettingsItemContext context, string key, string itemType, string siteId, string inheritanceState)
        {
            ServiceUtility.RequestBackendUserAuthentication();

            if (itemType == null)
            {
                throw new ArgumentNullException("itemType");
            }

            Guid id = Guid.Empty;

            if (!string.IsNullOrEmpty(siteId))
            {
                id = Guid.Parse(siteId);
            }

            if (SystemManager.CurrentContext.IsMultisiteMode && id != Guid.Empty)
            {
                if (!string.IsNullOrEmpty(inheritanceState) && inheritanceState == "inherit")
                {
                    // delete site specific settings
                    var logger         = LoggerFactory.Instance();
                    var settingsHelper = new GigyaSitefinityDsSettingsHelper(logger);
                    settingsHelper.Delete(id);
                    settingsHelper.ClearCache(id);
                    return;
                }
            }

            IGigyaDSSettingsDataContract settingsDataContract = (IGigyaDSSettingsDataContract)context.Item;

            settingsDataContract.Save(id);
        }
Ejemplo n.º 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);
        }