public PersonalizationData GetUserSettings(PersonalizationSearchCriteria searchCriteria)
        {
            var userSettingsToReturn = new PersonalizationData();

            SqlConnection cn;

            SPSecurity.RunWithElevatedPrivileges(delegate
            {
                using (cn = new SqlConnection(EPMLiveCore.CoreFunctions.getConnectionString(_web.Site.WebApplication.Id)))
                {
                    cn.Open();

                    var cmd = new SqlCommand("SELECT * FROM PERSONALIZATIONS WHERE FK=@FK and UserId=@userid and [Key]=@key and SiteId=@siteid and WebId=@webid", cn);
                    cmd.Parameters.AddWithValue("@FK", searchCriteria.WebPartId.ToString());
                    cmd.Parameters.AddWithValue("@siteid", searchCriteria.SiteId.ToString());
                    cmd.Parameters.AddWithValue("@webid", searchCriteria.WebId.ToString());
                    cmd.Parameters.AddWithValue("@userid", searchCriteria.UserId);
                    cmd.Parameters.AddWithValue("@key", _personalizationKey);
                    var reader = cmd.ExecuteReader();

                    userSettingsToReturn.Hydrate(reader);

                    cn.Close();
                }
            });

            return(userSettingsToReturn);
        }
示例#2
0
        public EpmChartUserSettings GetChartSettings(PersonalizationSearchCriteria searchCriteria)
        {
            var personalizationsRepo = new PersonalizationDataRepository(_web, EpmChartUserSettings.Key);
            var personalizationsData = personalizationsRepo.GetUserSettings(searchCriteria);

            var chartSettingsToReturn = new EpmChartUserSettings();

            chartSettingsToReturn.Hydrate(personalizationsData);
            return(chartSettingsToReturn);
        }
        private EpmChartUserSettings GetPersistedBubbleChartPersonalizations()
        {
            var web            = SPContext.Current.Web;
            var searchCriteria = new PersonalizationSearchCriteria
            {
                SiteId    = web.Site.ID,
                WebId     = web.ID,
                WebPartId = WebPartHelper.ConvertWebPartIdToGuid(ID),
                UserId    = web.CurrentUser.ID.ToString(),
                Key       = EpmChartUserSettings.Key
            };

            var repo = new EpmChartUserSettingsRepository(web);

            return(repo.GetChartSettings(searchCriteria));
        }
        public void PersistUserSettings(PersonalizationData userSettings)
        {
            var searchCriteria = new PersonalizationSearchCriteria
            {
                WebPartId = userSettings.ForeignKey,
                SiteId    = userSettings.SiteId,
                WebId     = userSettings.WebId,
                UserId    = userSettings.UserId,
                Key       = _personalizationKey
            };

            if (UserHasPersistedSettings(searchCriteria))
            {
                UpdateUserSettings(userSettings);
            }
            else
            {
                InsertUserSettings(userSettings);
            }
        }
示例#5
0
        private void LoadChartUserSettings()
        {
            if (string.IsNullOrEmpty(PropChartWebPartId))
            {
                return;
            }

            var web            = SPContext.Current.Web;
            var repo           = new EpmChartUserSettingsRepository(web);
            var searchCriteria = new PersonalizationSearchCriteria
            {
                WebPartId = WebPartHelper.ConvertWebPartIdToGuid(PropChartWebPartId),
                WebId     = web.ID,
                SiteId    = web.Site.ID,
                UserId    = web.CurrentUser.ID.ToString(),
                Key       = EpmChartUserSettings.Key
            };

            _chartUserSettings = repo.GetChartSettings(searchCriteria);
        }
        private bool UserHasPersistedSettings(PersonalizationSearchCriteria personalizationSearchCriteria)
        {
            var searchResults = GetUserSettings(personalizationSearchCriteria);

            return(!string.IsNullOrEmpty(searchResults.Key));
        }