Esempio n. 1
0
        public void SetGoal(string currentItemId, string linkedId, string goalId)
        {
            if (string.IsNullOrEmpty(currentItemId) || string.IsNullOrEmpty(linkedId) || string.IsNullOrEmpty(goalId))
            {
                return;
            }

            Database db = Sitecore.Context.Database;

            if (db == null || db.Name.ToLower() == "core")
            {
                db = Sitecore.Context.ContentDatabase;
            }

            if (db == null)
            {
                return;
            }

            Item currentItem = SitecoreItemFinder.GetItem(db, currentItemId);
            Item linkedItem  = SitecoreItemFinder.GetItem(db, linkedId);
            Item goalItem    = SitecoreItemFinder.GetItem(db, goalId);

            if (currentItem.IsNull() || linkedItem.IsNull() || goalItem.IsNull())
            {
                return;
            }

            PageStatisticsContext pageStatistics = new PageStatisticsContext();

            pageStatistics.SetGoalMet(currentItem, linkedItem, goalItem, Tracker.CurrentVisit.VisitId, Tracker.CurrentVisit.VisitorId);
        }
        /// <summary>
        /// Takes a variation code from the database and returns the proper variation item name from sitecore
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        private string GetVariationName(string code)
        {
            if (string.IsNullOrEmpty(code))
            {
                return("Default");
            }

            if (TestComponentItem.IsNull())
            {
                return(string.Empty);
            }

            List <Item> variationItems = SitecoreItemFinder.GetSubItemsOfTemplate(TestComponentItem, Sitecore.SharedSource.Analytics.CustomItems.Testing.MultivariateTestValueItem.TemplateId, true);

            if (variationItems == null || variationItems.Count == 0)
            {
                return(string.Empty);
            }

            code = code.Substring(3, 1);

            int codeValue = 0;

            int.TryParse(code, out codeValue);
            if (variationItems[codeValue] == null)
            {
                return(string.Empty);
            }

            Sitecore.SharedSource.Analytics.CustomItems.Testing.MultivariateTestValueItem variationItem = variationItems[codeValue];
            return(variationItem.TestValue.Name.Text);
        }
        /// <summary>
        ///     Checks to see if the passed in item guid represents a valid item.
        /// </summary>
        /// <param name = "db">The db.</param>
        /// <param name = "mediaItemGuid">The media item GUID.</param>
        /// <param name = "checkForFile">if set to <c>true</c> [check for file].</param>
        /// <param name = "applicationBasePath">The application base path.</param>
        /// <returns></returns>
        public static bool MediaItemIsValid(Database db, string mediaItemGuid, bool checkForFile, string applicationBasePath)
        {
            if (string.IsNullOrEmpty(mediaItemGuid) || db == null)
            {
                return(false);
            }

            MediaItem mediaItem = SitecoreItemFinder.GetItem(db, mediaItemGuid);

            if (mediaItem == null)
            {
                return(false);
            }

            if (checkForFile)
            {
                string filePath = applicationBasePath + mediaItem.FilePath.Replace("/", "\\");
                if (!File.Exists(filePath))
                {
                    return(false);
                }
            }

            return(true);
        }