コード例 #1
0
        /// <summary>
        /// Starts Building Indexes
        /// </summary>
        protected void StartRebuilding()
        {
            var str  = new ListString();
            var str2 = new ListString(this.IndexMap);

            foreach (string str3 in Context.ClientPage.ClientRequest.Form.Keys)
            {
                if (!string.IsNullOrEmpty(str3) && str3.StartsWith("dk_"))
                {
                    int index = str2.IndexOf(str3);
                    if (index >= 0)
                    {
                        str.Add(str2[index + 1]);
                    }
                }
            }

            Registry.SetString("/Current_User/Rebuild Search Index/Selected", str.ToString());


            var options2 = new JobOptions("RebuildSearchIndex", "index", Client.Site.Name,
                                          new Builder(str.ToString()), "Build")
            {
                AfterLife   = TimeSpan.FromMinutes(1.0),
                ContextUser = Context.User
            };
            var options = options2;
            var job     = JobManager.Start(options);

            Context.ClientPage.ServerProperties["handle"] = job.Handle.ToString();
            Context.ClientPage.ClientResponse.Timer("CheckStatus", 500);
        }
コード例 #2
0
        /// <summary>
        /// Checkouts the delivery next.
        /// </summary>
        /// <param name="deliveryAlternativeOption">The delivery alternative option.</param>
        /// <param name="notificationOption">The notification option.</param>
        /// <param name="notificationText">The notification text.</param>
        public virtual void DeliveryNext(string deliveryAlternativeOption, string notificationOption, string notificationText)
        {
            Assert.ArgumentNotNull(deliveryAlternativeOption, "deliveryAlternativeOption");
            Assert.ArgumentNotNull(notificationOption, "notificationOption");
            Assert.ArgumentNotNull(notificationText, "notificationText");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve<AnalyticsHelper>();
            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string description = analyticsHelper.GetPageEventDescription(EventConstants.EventCheckoutDeliveryNext);
            if (string.IsNullOrEmpty(description))
            {
                description = EventConstants.EventCheckoutDeliveryNext;
            }

            string text = description.FormatWith(new { DeliveryAlternativeOption = deliveryAlternativeOption, NotificationOption = notificationOption, NotificationText = notificationText });
            ListString data = new ListString { deliveryAlternativeOption, notificationOption, notificationText };

            var currentPage = Tracker.Current.CurrentPage;
            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventCheckoutDeliveryNext) { Text = text, Data = data.ToString() };
            currentPage.Register(pageEventData);
        }
コード例 #3
0
        /// <summary>
        /// Starts the rebuilding.
        /// </summary>
        protected virtual void StartRebuilding()
        {
            ListString databases = new ListString();
            ListString indexMap  = new ListString(this.IndexMap);

            foreach (string formKey in Sitecore.Context.ClientPage.ClientRequest.Form.Keys)
            {
                if (!string.IsNullOrEmpty(formKey) && formKey.StartsWith("dk_"))
                {
                    int index = indexMap.IndexOf(formKey);
                    if (index >= 0)
                    {
                        databases.Add(indexMap[index + 1]);
                    }
                }
            }

            Registry.SetString("/Current_User/Rebuild Search Index/Selected", databases.ToString());
            JobOptions options = new JobOptions("RebuildSearchIndex", "index", Client.Site.Name, new Builder(databases.ToString()), "Build")
            {
                AfterLife   = TimeSpan.FromMinutes(1.0),
                ContextUser = Sitecore.Context.User
            };
            Job job = JobManager.Start(options);

            Sitecore.Context.ClientPage.ServerProperties["handle"] = job.Handle.ToString();
            Sitecore.Context.ClientPage.ClientResponse.Timer("CheckStatus", 500);
        }
コード例 #4
0
        // saves order of db view data
        private void ProcessDbOrder(Item dbViewItem, ListString list)
        {
            string newOrder = string.Empty;

            string[] facList = dbViewItem.Fields["Faculty List"].Value.Split('&');
            Dictionary <string, string> originalOrder = facList.ToDictionary(item => item.Split('=')[0], item => item.Split('=')[1]);
            string lastSequence = list.ToString().Split(',').Last();

            string[] personIDs = lastSequence.Split('|');
            foreach (string p in personIDs)
            {
                string myJobTitle = originalOrder[p];
                if (String.IsNullOrEmpty(newOrder))
                {
                    newOrder += p + "=" + myJobTitle;
                }
                else
                {
                    newOrder += "&" + p + "=" + myJobTitle;
                }
            }
            dbViewItem.Editing.BeginEdit();
            try
            {
                dbViewItem.Fields["Faculty List"].Value = newOrder;
                dbViewItem.Editing.EndEdit();
            }
            catch (Exception) { dbViewItem.Editing.CancelEdit(); }
            SheerResponse.Eval("window.top.location.reload();");
        }
コード例 #5
0
        // on ok
        protected override void OnOK(object sender, EventArgs args)
        {
            Assert.ArgumentNotNull(sender, "sender");
            Assert.ArgumentNotNull((object)args, "args");
            ListString listString = new ListString(WebUtil.GetFormValue("sortorder"));

            if (listString.Count == 0) // no changes made
            {
                base.OnOK(sender, args);
            }
            else
            {
                if (IsDBsort(listString.ToString()))
                {
                    SortContentOptions sortContentOptions = SortContentOptions.Parse();
                    ProcessDbOrder(sortContentOptions.Item.Children[0], listString); // save sort order of db view data
                }
                else // sort input view items
                {
                    ListString source = listString;
                    this.Sort(source.Select <string, ID>(x => ShortID.DecodeID(x)));
                    SheerResponse.SetDialogValue("1");
                }
                base.OnOK(sender, args);
            }
        }
コード例 #6
0
        /// <summary>
        /// This is the process that Runs the Index Rebuild
        /// </summary>
        private void BuildIndexes()
        {
            var selected = new ListString(Registry.GetString("/Current_User/Rebuild Search Index/Selected"));
            var indexMap = new ListString();

            foreach (Index str3 in SearchManager.Indexes)
            {
                this.BuildIndexCheckbox(str3.Name, str3.Name, selected, indexMap);
            }

            if (Config.Scaling.Enabled)
            {
                RemoteSearchManager.Initialize();
                foreach (RemoteIndex str3 in RemoteSearchManager.Indexes)
                {
                    this.BuildIndexCheckbox(str3.Name, str3.Name, selected, indexMap);
                }

                InMemorySearchManager.Initialize();
                foreach (InMemoryIndex str3 in InMemorySearchManager.Indexes)
                {
                    this.BuildIndexCheckbox(str3.Name, str3.Name, selected, indexMap);
                }
            }

            this.BuildIndexCheckbox("$system", "Quick search index", selected, indexMap);
            this.IndexMap = indexMap.ToString();
        }
コード例 #7
0
        /// <summary>
        /// Updates the links.
        /// </summary>
        /// <param name="root">The root.</param>
        /// <param name="currentItem">The current item.</param>
        /// <param name="mapping">The mapping.</param>
        private void UpdateLinks(Item root, Item currentItem, IDictionary <ID, string> mapping)
        {
            using (new EditContext(currentItem))
            {
                foreach (Field field in currentItem.Fields)
                {
                    ListString references = new ListString(field.Value);

                    if (references.All(ID.IsID))
                    {
                        ListString updatedReferences = new ListString();

                        foreach (string reference in references)
                        {
                            ID key = ID.Parse(reference);
                            if (mapping.ContainsKey(key))
                            {
                                updatedReferences.Add(root.Axes.GetDescendant(mapping[key]).ID.ToString());
                            }
                            else
                            {
                                updatedReferences.Add(reference);
                            }
                        }

                        field.Value = updatedReferences.ToString();
                    }
                }
            }

            foreach (Item child in currentItem.Children)
            {
                this.UpdateLinks(root, child, mapping);
            }
        }
コード例 #8
0
        /// <summary>
        /// Add to shopping cart event.
        /// </summary>
        /// <param name="productCode">The product code.</param>
        /// <param name="productName">Name of the product.</param>
        /// <param name="quantity">The quantity.</param>
        /// <param name="price">The price.</param>
        public virtual void AddToShoppingCart(string productCode, string productName, uint quantity, decimal price)
        {
            Assert.ArgumentNotNull(productName, "productName");
            Assert.ArgumentNotNull(productCode, "productCode");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve<AnalyticsHelper>();
            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string description = analyticsHelper.GetPageEventDescription(EventConstants.EventAddToShoppingCart);
            if (string.IsNullOrEmpty(description))
            {
                description = EventConstants.EventAddToShoppingCart;
            }

            string text = description.FormatWith(new { Quantity = quantity, ProductName = productName, Price = price });
            ListString data = new ListString { productName, quantity.ToString(CultureInfo.InvariantCulture), price.ToString(CultureInfo.InvariantCulture), productCode.ToString(CultureInfo.InvariantCulture) };

            var currentPage = Tracker.Current.CurrentPage;
            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventAddToShoppingCart) { Text = text, Data = data.ToString() };
            currentPage.Register(pageEventData);
        }
コード例 #9
0
        /// <summary>
        /// Handles the grid row double click event.
        /// </summary>
        /// <param name="args">The arguments.</param>
        public virtual void AddButtonClick(GridCommandEventArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            if (args.RowsID == null)
            {
                return;
            }

            var rowIDs = new ListString();
            var showProductGridItemDublicatedAlert = false;

            foreach (var id in args.RowsID.Cast <string>().Where(ID.IsID))
            {
                if (this.View.SelectedProducts.Contains(id))
                {
                    showProductGridItemDublicatedAlert = true;
                }
                else
                {
                    rowIDs.Add(id);
                }
            }

            if (rowIDs.Count > 0)
            {
                this.View.AddRowToSelectedProductsGrid(rowIDs.ToString());
            }

            if (showProductGridItemDublicatedAlert)
            {
                this.View.ShowProductGridItemDublicatedAlert();
            }
        }
コード例 #10
0
    public string Execute(string itemLocators)
    {        
        Assert.ArgumentNotNullOrEmpty(itemLocators, "items");

        var masterVariablesReplacer = Configuration.Factory.GetMasterVariablesReplacer();

        var result = new ListString('|');

        foreach (var itemlocator in itemLocators.Split('|'))
        {
            var separator = itemlocator.IndexOf(':');
            var databaseName = itemlocator.Substring(0, separator);

            var database = Configuration.Factory.GetDatabase(databaseName);
            if (database == null) continue;            

            var item = database.GetItem(itemlocator.Substring(separator+1));
            if (item != null)
            {
                item.Fields.ReadAll();
                var revision = item[FieldIDs.Revision];
                using (new EditContext(item))
                {
                    masterVariablesReplacer.ReplaceItem(item);
                }
                if(item[FieldIDs.Revision] != revision)
                {
                    result.Add(string.Format("{0}:{1}",databaseName,item.ID));
                }
            }
        }
        return result.ToString();
    }
コード例 #11
0
ファイル: EditOrder.cs プロジェクト: vsrathore2/SES-8.0
        /// <summary>
        /// Gets the fields.
        /// </summary>
        /// <param name="fields">The fields.</param>
        /// <returns>Returns a collection of field for edit.</returns>
        protected virtual string GetFields(StringCollection fields)
        {
            ListString ls = new ListString();

            foreach (string fieldId in fields)
            {
                ls.Add(fieldId);
            }

            return(ls.ToString());
        }
コード例 #12
0
        private void MakeLink(string name, string icon, Item link)
        {
            var desktoplinks = new ListString(Registry.GetString("/Current_User/Desktop/Links"), '|');
            var parameters   = new ListString('^')
            {
                Databasename, link.ID.ToString(), name, icon
            };

            desktoplinks.Add(parameters.ToString());
            Registry.SetString("/Current_User/Desktop/Links", desktoplinks.ToString());
            Sitecore.Context.ClientPage.ClientResponse.Alert(Translate.Text(ConfirmationMessage));
        }
コード例 #13
0
        private void makeLink(string name, string icon, Item link)
        {
            ListString desktoplinks = new ListString(Registry.GetString("/Current_User/Desktop/Links"), '|');
            ListString parameters   = new ListString('^');

            parameters.Add(databasename);
            parameters.Add(link.ID.ToString());
            parameters.Add(name);
            parameters.Add(icon);
            desktoplinks.Add(parameters.ToString());
            Registry.SetString("/Current_User/Desktop/Links", desktoplinks.ToString());
            Sitecore.Context.ClientPage.ClientResponse.Alert("Link created. It will not appear until Desktop is refreshed");
        }
コード例 #14
0
 /// <summary>
 /// Adds string value to the pipe-separated value field.
 /// By default NameValueCollection uses comma.
 /// </summary>
 /// <param name="list">The list.</param>
 /// <param name="key">The key.</param>
 /// <param name="value">The value.</param>
 private static void AddListStringValue(NameValueCollection list, string key, string value)
 {
     if (string.IsNullOrEmpty(list[key]))
     {
         list.Add(key, value);
     }
     else
     {
         var values = new ListString(list[key])
         {
             value
         };
         list[key] = values.ToString();
     }
 }
コード例 #15
0
        /// <summary>
        /// This is the process that Runs the Index Rebuild
        /// </summary>
        private void BuildIndexes()
        {
            var selected = new ListString(Registry.GetString("/Current_User/Rebuild Search Index/Selected"));
            var indexMap = new ListString();

            foreach (var str3 in SearchManager.Indexes)
            {
                this.BuildIndexCheckbox(str3.Name, str3.Name, selected, indexMap);
            }


            //this.BuildIndexCheckbox("Select All", "Select All", selected, indexMap);
            //this.BuildIndexCheckbox("Deselect All", "Deselect All", selected, indexMap);
            this.BuildIndexCheckbox("$system", "Quick search index", selected, indexMap);
            this.IndexMap = indexMap.ToString();
        }
コード例 #16
0
        /// <summary>
        /// Used to read the querystring parameter from a productlink in list and register event in analytics database.
        /// </summary>
        public virtual void FollowListHit()
        {
            if (!Tracker.IsActive)
            {
                return;
            }

            string setting = Settings.GetSetting("Ecommerce.Analytics.EventQueryStringKey");

            UrlString urlString = new UrlString(WebUtil.GetRawUrl());

            string listName = urlString[setting + "_data"] ?? string.Empty;

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve <AnalyticsHelper>();

            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string eventDescription = analyticsHelper.GetPageEventDescription(EventConstants.EventUserClickedItemInList);

            if (string.IsNullOrEmpty(eventDescription))
            {
                eventDescription = EventConstants.EventUserClickedItemInList;
            }

            string     text = eventDescription.FormatWith(new { List = listName, ProductName = Sitecore.Context.Item["Title"] });
            ListString data = new ListString {
                listName, Sitecore.Context.Item["Title"]
            };

            var currentPage = Tracker.Current.CurrentPage;

            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventUserClickedItemInList)
            {
                Text = text, Data = data.ToString()
            };

            currentPage.Register(pageEventData);
        }
コード例 #17
0
        /// <summary>
        /// Products the reviewed.
        /// </summary>
        /// <param name="productCode">The product code.</param>
        /// <param name="productName">Name of the product.</param>
        /// <param name="title">The title.</param>
        /// <param name="description">The description.</param>
        /// <param name="rate">The product rate.</param>
        public virtual void ProductReviewed(string productCode, string productName, string title, string description, string rate)
        {
            Assert.ArgumentNotNull(title, "title");
            Assert.ArgumentNotNull(description, "description");
            Assert.ArgumentNotNull(rate, "rate");
            Assert.ArgumentNotNull(productCode, "productCode");
            Assert.ArgumentNotNull(productName, "productName");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve <AnalyticsHelper>();

            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string eventDescription = analyticsHelper.GetPageEventDescription(EventConstants.EventProductReviewed);

            if (string.IsNullOrEmpty(eventDescription))
            {
                eventDescription = EventConstants.EventProductReviewed;
            }

            string     text = eventDescription.FormatWith(new { Title = title, Text = description, Rate = rate, ProductName = productName });
            ListString data = new ListString {
                productCode, title, description, rate, productName
            };

            var currentPage = Tracker.Current.CurrentPage;

            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventProductReviewed)
            {
                Text = text, Data = data.ToString()
            };

            currentPage.Register(pageEventData);
        }
コード例 #18
0
        /// <summary>
        /// Gets the value.
        ///
        /// </summary>
        ///
        /// <returns>
        /// The value of the field.
        /// </returns>
        /// <contract><ensures condition="not null"/></contract>
        public string GetValue()
        {
            var listString = new ListString();
            var listbox    = FindControl(GetViewStateString("ID") + "_selected") as Listbox;

            Assert.IsNotNull(listbox, typeof(Listbox));
            foreach (ListItem control in listbox.Items)
            {
                string[] strArray = control.Value.Split(new char[1]
                {
                    '|'
                });
                if (strArray.Length > 1)
                {
                    listString.Add(strArray[1]);
                }
            }
            return(listString.ToString());
        }
コード例 #19
0
        public static NameValueCollection Start(string pipelineName, ClientPipelineArgs args, Database database, Item[] items)
        {
            Assert.ArgumentNotNullOrEmpty(pipelineName, "pipelineName");
            Assert.ArgumentNotNull(args, "args");
            Assert.ArgumentNotNull(database, "database");
            Assert.ArgumentNotNull(items, "items");
            NameValueCollection values = new NameValueCollection();
            ListString          str    = new ListString('|');

            for (int i = 0; i < items.Length; i++)
            {
                str.Add(items[i].ID.ToString());
            }
            values.Add("database", database.Name);
            values.Add("items", str.ToString());
            args.Parameters = values;
            Context.ClientPage.Start(pipelineName, args);
            return(values);
        }
コード例 #20
0
        /// <summary>
        /// Starts the publisher.
        ///
        /// </summary>
        protected void StartPublisher()
        {
            Language[]  languages         = GetLanguages();
            List <Item> publishingTargets = GetPublishingTargets();

            Database[] publishingTargetDatabases = GetPublishingTargetDatabases();
            bool       incremental     = Context.ClientPage.ClientRequest.Form["PublishMode"] == "IncrementalPublish";
            bool       smart           = Context.ClientPage.ClientRequest.Form["PublishMode"] == "SmartPublish";
            bool       republish       = Context.ClientPage.ClientRequest.Form["PublishMode"] == "Republish";
            bool       rebuild         = this.Rebuild;
            bool       childrenChecked = this.PublishChildren.Checked;
            bool       relatedChecked  = this.PublishRelatedItems.Checked;

            if (rebuild)
            {
                Log.Audit(this, "Rebuild database, databases: {0}", new string[] { StringUtil.Join(publishingTargetDatabases, ", ") });
            }
            else
            {
                Log.Audit(this, "Publish, languages:{0}, targets:{1}, databases:{2}, incremental:{3}, smart:{4}, republish:{5}, children:{6}, related:{7}", StringUtil.Join(languages, ", "), StringUtil.Join(publishingTargets, ", ", "Name"), StringUtil.Join(publishingTargetDatabases, ", "), MainUtil.BoolToString(incremental), MainUtil.BoolToString(smart), MainUtil.BoolToString(republish), MainUtil.BoolToString(childrenChecked), MainUtil.BoolToString(relatedChecked));
            }
            var listString1 = new ListString();

            foreach (Language language in languages)
            {
                listString1.Add(language.ToString());
            }
            Registry.SetString("/Current_User/Publish/Languages", listString1.ToString());
            var listString2 = new ListString();

            foreach (Item obj in publishingTargets)
            {
                listString2.Add(obj.ID.ToString());
            }
            Registry.SetString("/Current_User/Publish/Targets", listString2.ToString());
            Registry.SetBool("/Current_User/Publish/IncrementalPublish", incremental);
            Registry.SetBool("/Current_User/Publish/SmartPublish", smart);
            Registry.SetBool("/Current_User/Publish/Republish", republish);
            Registry.SetBool("/Current_User/Publish/PublishChildren", childrenChecked);
            Registry.SetBool("/Current_User/Publish/PublishRelatedItems", relatedChecked);
            this.JobHandle = (string.IsNullOrEmpty(this.ItemID) ? (!incremental ? (!smart ? (!rebuild ? PublishManager.Republish(Sitecore.Client.ContentDatabase, publishingTargetDatabases, languages, Context.Language) : PublishManager.RebuildDatabase(Sitecore.Client.ContentDatabase, publishingTargetDatabases)) : PublishManager.PublishSmart(Sitecore.Client.ContentDatabase, publishingTargetDatabases, languages, Context.Language)) : PublishManager.PublishIncremental(Sitecore.Client.ContentDatabase, publishingTargetDatabases, languages, Context.Language)) : PublishManager.PublishItem(Sitecore.Client.GetItemNotNull(this.ItemID), publishingTargetDatabases, languages, childrenChecked, smart, relatedChecked)).ToString();
            SheerResponse.Timer("CheckStatus", Settings.Publishing.PublishDialogPollingInterval);
        }
コード例 #21
0
ファイル: LogEntryDetails.cs プロジェクト: vsrathore2/SES-8.0
        /// <summary>
        /// Formats the parameters.
        /// </summary>
        /// <param name="keyParams">The parameters.</param>
        private void FormatParameters([NotNull] IEnumerable keyParams)
        {
            Debug.ArgumentNotNull(keyParams, "keyParams");

            var list = new ListString();

            foreach (var param in keyParams)
            {
                if ((param == null) || string.IsNullOrEmpty(param.ToString()))
                {
                    list.Add("Not defined");
                    continue;
                }

                list.Add(param.ToString());
            }

            this.formattedParameters = list.ToString();
        }
コード例 #22
0
        /// <summary>
        /// User login succeded.
        /// </summary>
        /// <param name="userName">Name of the user.</param>
        public virtual void UserLoginSucceded(string userName)
        {
            Assert.ArgumentNotNull(userName, "userName");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve <AnalyticsHelper>();

            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string description = analyticsHelper.GetPageEventDescription(EventConstants.EventUserLoginSucceded);

            if (string.IsNullOrEmpty(description))
            {
                description = EventConstants.EventUserLoginSucceded;
            }

            string text = description.FormatWith(new
            {
                Username = userName,
            });
            ListString data = new ListString {
                userName
            };

            var currentPage = Tracker.Current.CurrentPage;

            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventUserLoginSucceded)
            {
                Text = text, Data = data.ToString()
            };

            currentPage.Register(pageEventData);
        }
コード例 #23
0
ファイル: CheckOutEvents.cs プロジェクト: vsrathore2/SES-8.0
        /// <summary>
        /// Checkouts the delivery next.
        /// </summary>
        /// <param name="deliveryAlternativeOption">The delivery alternative option.</param>
        /// <param name="notificationOption">The notification option.</param>
        /// <param name="notificationText">The notification text.</param>
        public virtual void DeliveryNext(string deliveryAlternativeOption, string notificationOption, string notificationText)
        {
            Assert.ArgumentNotNull(deliveryAlternativeOption, "deliveryAlternativeOption");
            Assert.ArgumentNotNull(notificationOption, "notificationOption");
            Assert.ArgumentNotNull(notificationText, "notificationText");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve <AnalyticsHelper>();

            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string description = analyticsHelper.GetPageEventDescription(EventConstants.EventCheckoutDeliveryNext);

            if (string.IsNullOrEmpty(description))
            {
                description = EventConstants.EventCheckoutDeliveryNext;
            }

            string     text = description.FormatWith(new { DeliveryAlternativeOption = deliveryAlternativeOption, NotificationOption = notificationOption, NotificationText = notificationText });
            ListString data = new ListString {
                deliveryAlternativeOption, notificationOption, notificationText
            };

            var currentPage = Tracker.Current.CurrentPage;

            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventCheckoutDeliveryNext)
            {
                Text = text, Data = data.ToString()
            };

            currentPage.Register(pageEventData);
        }
コード例 #24
0
        protected virtual void BuildIndexes()
        {
            var selected = new ListString(Registry.GetString("/Current_User/Rebuild Search Index/Selected"));
            var indexMap = new ListString();

            foreach (var str3 in Factory.GetDatabaseNames())
            {
                var database = Factory.GetDatabase(str3);
                Assert.IsNotNull(database, "database");
                if (database.Indexes.Count > 0)
                {
                    BuildIndexCheckbox(str3, str3, selected, indexMap);
                }
            }
            foreach (var str4 in GetIndexes())
            {
                var name = string.Format("${0}", str4);
                BuildIndexCheckbox(name, str4, selected, indexMap);
            }
            IndexMap = indexMap.ToString();
        }
コード例 #25
0
        /// <summary>
        /// Add to shopping cart event.
        /// </summary>
        /// <param name="productCode">The product code.</param>
        /// <param name="productName">Name of the product.</param>
        /// <param name="quantity">The quantity.</param>
        /// <param name="price">The price.</param>
        public virtual void AddToShoppingCart(string productCode, string productName, uint quantity, decimal price)
        {
            Assert.ArgumentNotNull(productName, "productName");
            Assert.ArgumentNotNull(productCode, "productCode");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve <AnalyticsHelper>();

            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string description = analyticsHelper.GetPageEventDescription(EventConstants.EventAddToShoppingCart);

            if (string.IsNullOrEmpty(description))
            {
                description = EventConstants.EventAddToShoppingCart;
            }

            string     text = description.FormatWith(new { Quantity = quantity, ProductName = productName, Price = price });
            ListString data = new ListString {
                productName, quantity.ToString(CultureInfo.InvariantCulture), price.ToString(CultureInfo.InvariantCulture), productCode.ToString(CultureInfo.InvariantCulture)
            };

            var currentPage = Tracker.Current.CurrentPage;

            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventAddToShoppingCart)
            {
                Text = text, Data = data.ToString()
            };

            currentPage.Register(pageEventData);
        }
コード例 #26
0
ファイル: CheckOutEvents.cs プロジェクト: vsrathore2/SES-8.0
        /// <summary>
        /// Checkout delivery alternative changed.
        /// </summary>
        /// <param name="optionTitle">The option title.</param>
        /// <param name="optionCode">The option code.</param>
        public virtual void PaymentMethodSelected(string optionTitle, string optionCode)
        {
            Assert.ArgumentNotNull(optionTitle, "optionTitle");
            Assert.ArgumentNotNull(optionCode, "optionCode");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve <AnalyticsHelper>();

            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string description = analyticsHelper.GetPageEventDescription(EventConstants.EventCheckoutPaymentMethodSelected);

            if (string.IsNullOrEmpty(description))
            {
                description = EventConstants.EventCheckoutPaymentMethodSelected;
            }

            string     text = description.FormatWith(new { Option = optionTitle, });
            ListString data = new ListString {
                optionCode, optionTitle
            };

            var currentPage = Tracker.Current.CurrentPage;

            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventCheckoutPaymentMethodSelected)
            {
                Text = text, Data = data.ToString()
            };

            currentPage.Register(pageEventData);
        }
コード例 #27
0
        /// <summary>
        /// Shopping Cart Emptied event.
        /// </summary>
        /// <param name="shoppingCartContent">Content of the shopping cart.</param>
        /// <param name="itemsInShoppingCart">The items in shopping cart.</param>
        public virtual void ShoppingCartEmptied(string shoppingCartContent, uint itemsInShoppingCart)
        {
            Assert.ArgumentNotNull(shoppingCartContent, "shoppingCartContent");
            Assert.ArgumentNotNull(itemsInShoppingCart, "itemsInShoppingCart");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve <AnalyticsHelper>();

            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string description = analyticsHelper.GetPageEventDescription(EventConstants.EventShoppingCartEmptied);

            if (string.IsNullOrEmpty(description))
            {
                description = EventConstants.EventShoppingCartEmptied;
            }

            string     text = description.FormatWith(new { Amount = itemsInShoppingCart, ShoppingCartContent = shoppingCartContent });
            ListString data = new ListString {
                itemsInShoppingCart.ToString(CultureInfo.InvariantCulture), shoppingCartContent
            };

            var currentPage = Tracker.Current.CurrentPage;

            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventShoppingCartEmptied)
            {
                Text = text, Data = data.ToString()
            };

            currentPage.Register(pageEventData);
        }
コード例 #28
0
        /// <summary>
        /// Builds the indexes.
        /// </summary>
        protected virtual void BuildIndexes()
        {
            ListString selected = new ListString(Registry.GetString("/Current_User/Rebuild Search Index/Selected"));
            ListString indexMap = new ListString();

            foreach (string databaseName in Factory.GetDatabaseNames())
            {
                Database database = Factory.GetDatabase(databaseName);
                Assert.IsNotNull(database, "database");
                if (database.Indexes.Count > 0)
                {
                    this.BuildIndexCheckbox(databaseName, databaseName, selected, indexMap);
                }
            }

            foreach (string indexName in this.GetIndexes())
            {
                string name = string.Format("${0}", indexName);
                this.BuildIndexCheckbox(name, indexName, selected, indexMap);
            }

            this.IndexMap = indexMap.ToString();
        }
コード例 #29
0
        public override void Execute([NotNull] CommandContext context)
        {
            Assert.ArgumentNotNull(context, "context");

            var items = context.Items;

            Assert.IsNotNull(items, "items");

            if (!Settings.ItemCloning.Enabled || (items.Length <= 0))
            {
                return;
            }

            var item    = items[0];
            var itemIDs = new ListString('|');

            foreach (Item it in items)
            {
                itemIDs.Add(it.ID.ToString());
            }

            var parameters = new NameValueCollection();

            parameters.Add("database", item.Database.Name);
            parameters.Add("items", itemIDs.ToString());
            parameters.Add("language", item.Language.ToString());
            parameters.Add("mode", "smart");

            var clientPage = Context.ClientPage;

            Assert.IsNotNull(clientPage, "clientPage");

            clientPage.Start("uiCloneItems", new CopyItemsArgs {
                Parameters = parameters
            });
        }
コード例 #30
0
        public string Execute(string itemLocators)
        {
            Assert.ArgumentNotNullOrEmpty(itemLocators, "items");

            var masterVariablesReplacer = Configuration.Factory.GetMasterVariablesReplacer();

            var result = new ListString('|');

            foreach (var itemlocator in itemLocators.Split('|'))
            {
                var separator    = itemlocator.IndexOf(':');
                var databaseName = itemlocator.Substring(0, separator);

                var database = Configuration.Factory.GetDatabase(databaseName);
                if (database == null)
                {
                    continue;
                }

                var item = database.GetItem(itemlocator.Substring(separator + 1));
                if (item != null)
                {
                    item.Fields.ReadAll();
                    var revision = item[FieldIDs.Revision];
                    using (new EditContext(item))
                    {
                        masterVariablesReplacer.ReplaceItem(item);
                    }
                    if (item[FieldIDs.Revision] != revision)
                    {
                        result.Add(string.Format("{0}:{1}", databaseName, item.ID));
                    }
                }
            }
            return(result.ToString());
        }
コード例 #31
0
        /// <summary>
        /// Handles the Click event of the btnEmptyShoppingCart control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void btnEmptyShoppingCart_Click(object sender, EventArgs e)
        {
            uint       numberOfProducts    = 0;
            ListString shoppingCartContent = new ListString();

            foreach (ShoppingCartLine line in this.Cart.ShoppingCartLines)
            {
                shoppingCartContent.Add(line.Product.Code);
                numberOfProducts += line.Quantity;
            }

            AnalyticsUtil.ShoppingCartEmptied(shoppingCartContent.ToString(), numberOfProducts);

            this.Cart.ShoppingCartLines.Clear();

            ICheckOut checkOut = Sitecore.Ecommerce.Context.Entity.Resolve <ICheckOut>();

            if (checkOut is CheckOut)
            {
                ((CheckOut)checkOut).ResetCheckOut();
            }

            ItemUtil.RedirectToNavigationLink(ContinueShopping, false);
        }
コード例 #32
0
        /// <summary>
        /// Starts the rebuilding.
        /// </summary>
        protected virtual void StartRebuilding()
        {
            ListString databases = new ListString();
              ListString indexMap = new ListString(this.IndexMap);
              foreach (string formKey in Sitecore.Context.ClientPage.ClientRequest.Form.Keys)
              {
            if (!string.IsNullOrEmpty(formKey) && formKey.StartsWith("dk_"))
            {
              int index = indexMap.IndexOf(formKey);
              if (index >= 0)
              {
            databases.Add(indexMap[index + 1]);
              }
            }
              }

              Registry.SetString("/Current_User/Rebuild Search Index/Selected", databases.ToString());
              JobOptions options = new JobOptions("RebuildSearchIndex", "index", Client.Site.Name, new Builder(databases.ToString()), "Build")
              {
            AfterLife = TimeSpan.FromMinutes(1.0),
            ContextUser = Sitecore.Context.User
              };
              Job job = JobManager.Start(options);
              Sitecore.Context.ClientPage.ServerProperties["handle"] = job.Handle.ToString();
              Sitecore.Context.ClientPage.ClientResponse.Timer("CheckStatus", 500);
        }
コード例 #33
0
		public string GetValue()
		{
			ListString str = new ListString();
			string viewStateString = base.GetViewStateString("ID");
			Listbox listbox = this.FindControl(viewStateString + "_selected") as Listbox;
			Assert.IsNotNull(listbox, typeof(Listbox));
			foreach (ListItem item in listbox.Items)
			{
				string[] strArray = item.Value.Split(new char[] { '|' });
				if (strArray.Length > 1)
				{
					str.Add(strArray[1]);
				}
			}
			return str.ToString();
		}
コード例 #34
0
        /// <summary>
        /// This is the process that Runs the Index Rebuild
        /// </summary>
        private void BuildIndexes()
        {
            var selected = new ListString(Registry.GetString("/Current_User/Rebuild Search Index/Selected"));
            var indexMap = new ListString();
            foreach (var str3 in SearchHelper.GetIndexes())
            {
                this.BuildIndexCheckbox(str3.Name, str3.Name, selected, indexMap);
            }

            //this.BuildIndexCheckbox("Select All", "Select All", selected, indexMap);
            //this.BuildIndexCheckbox("Deselect All", "Deselect All", selected, indexMap);
            this.BuildIndexCheckbox("$system", "Quick search index", selected, indexMap);
            this.IndexMap = indexMap.ToString();
        }
コード例 #35
0
        /// <summary>
        /// Starts Building Indexes
        /// </summary>
        protected void StartRebuilding()
        {
            var str = new ListString();
            var str2 = new ListString(this.IndexMap);
            foreach (string str3 in Context.ClientPage.ClientRequest.Form.Keys)
            {
                if (!string.IsNullOrEmpty(str3) && str3.StartsWith("dk_"))
                {
                    int index = str2.IndexOf(str3);
                    if (index >= 0)
                    {
                        str.Add(str2[index + 1]);
                    }
                }
            }

            Registry.SetString("/Current_User/Rebuild Search Index/Selected", str.ToString());

                var options2 = new JobOptions("RebuildSearchIndex", "index", Client.Site.Name,
                                              new Builder(str.ToString()), "Build")
                {
                    AfterLife = TimeSpan.FromMinutes(1.0),
                    ContextUser = Context.User
                };
                var options = options2;
                var job = JobManager.Start(options);
                Context.ClientPage.ServerProperties["handle"] = job.Handle.ToString();
                Context.ClientPage.ClientResponse.Timer("CheckStatus", 500);
        }
コード例 #36
0
        /// <summary>
        /// User login succeded.
        /// </summary>
        /// <param name="userName">Name of the user.</param>
        public virtual void UserLoginSucceded(string userName)
        {
            Assert.ArgumentNotNull(userName, "userName");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve<AnalyticsHelper>();
            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string description = analyticsHelper.GetPageEventDescription(EventConstants.EventUserLoginSucceded);
            if (string.IsNullOrEmpty(description))
            {
                description = EventConstants.EventUserLoginSucceded;
            }

            string text = description.FormatWith(new
            {
                Username = userName,
            });
            ListString data = new ListString { userName };

            var currentPage = Tracker.Current.CurrentPage;
            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventUserLoginSucceded) { Text = text, Data = data.ToString() };
            currentPage.Register(pageEventData);
        }
コード例 #37
0
        /// <summary>
        /// Builds the indexes.
        /// </summary>
        protected virtual void BuildIndexes()
        {
            ListString selected = new ListString(Registry.GetString("/Current_User/Rebuild Search Index/Selected"));
              ListString indexMap = new ListString();
              foreach (string databaseName in Factory.GetDatabaseNames())
              {
            Database database = Factory.GetDatabase(databaseName);
            Assert.IsNotNull(database, "database");
            if (database.Indexes.Count > 0)
            {
              this.BuildIndexCheckbox(databaseName, databaseName, selected, indexMap);
            }
              }

              foreach (string indexName in this.GetIndexes())
              {
            string name = string.Format("${0}", indexName);
            this.BuildIndexCheckbox(name, indexName, selected, indexMap);
              }

              this.IndexMap = indexMap.ToString();
        }
コード例 #38
0
        /// <summary>
        /// Shoppings the cart item updated.
        /// </summary>
        /// <param name="productCode">The product code.</param>
        /// <param name="productName">Name of the product.</param>
        /// <param name="amount">The products amount.</param>
        public virtual void ShoppingCartItemUpdated(string productCode, string productName, uint amount)
        {
            Assert.ArgumentNotNull(productCode, "shoppingCartContent");
            Assert.ArgumentNotNull(productName, "itemsInShoppingCart");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve<AnalyticsHelper>();
            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string description = analyticsHelper.GetPageEventDescription(EventConstants.EventShoppingCartItemUpdated);
            if (string.IsNullOrEmpty(description))
            {
                description = EventConstants.EventShoppingCartItemUpdated;
            }

            string text = description.FormatWith(new { ProductName = productName, Amount = amount });
            ListString data = new ListString { productCode, productName, amount.ToString(CultureInfo.InvariantCulture) };

            var currentPage = Tracker.Current.CurrentPage;
            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventShoppingCartItemUpdated) { Text = text, Data = data.ToString() };
            currentPage.Register(pageEventData);
        }
コード例 #39
0
 protected virtual void BuildIndexes()
 {
     var selected = new ListString(Registry.GetString("/Current_User/Rebuild Search Index/Selected"));
     var indexMap = new ListString();
     foreach (var str3 in Factory.GetDatabaseNames())
     {
         var database = Factory.GetDatabase(str3);
         Assert.IsNotNull(database, "database");
         if (database.Indexes.Count > 0)
         {
             BuildIndexCheckbox(str3, str3, selected, indexMap);
         }
     }
     foreach (var str4 in GetIndexes())
     {
         var name = string.Format("${0}", str4);
         BuildIndexCheckbox(name, str4, selected, indexMap);
     }
     IndexMap = indexMap.ToString();
 }
コード例 #40
0
		protected override void OnLoad(EventArgs e) {
			Assert.ArgumentNotNull(e, "e");
			
			if (!Sitecore.Context.ClientPage.IsEvent) {
				
				isEvent = false;
				Sitecore.Shell.Applications.ContentEditor.Checklist list = new Sitecore.Shell.Applications.ContentEditor.Checklist();
				this.Controls.Add(list);
				list.ID = GetID("list");
				list.Source = this.Source;
				list.ItemID = ItemID;
				list.FieldName = FieldName;
				list.TrackModified = TrackModified;
				list.Disabled = this.Disabled;
				list.Value = this.Value;


				Sitecore.Shell.Applications.ContentEditor.Text text = new Sitecore.Shell.Applications.ContentEditor.Text();
				this.Controls.AddAt(0, text);
				text.ID = GetID("text");
				text.ReadOnly = true;
				text.Disabled = this.Disabled;

				Button b = new Button();
				this.Controls.Add(b);
				b.ID = GetID("button");
				b.Disabled = this.Disabled;
				b.Click = "checklist:selectplayer";
				b.Header = "click me";

				this.Controls.Add(new LiteralControl(Sitecore.Resources.Images.GetSpacer(0x18, 16)));
			} else {
				Sitecore.Shell.Applications.ContentEditor.Checklist list = FindControl(GetID("list")) as Sitecore.Shell.Applications.ContentEditor.Checklist;
				if (list != null) {
					ListString valueList = new ListString();
					foreach (DataChecklistItem item in list.Items) {
						if (item.Checked) {
							valueList.Add(item.ItemID);
						}
					}
					if (this.Value != valueList.ToString()) {
						this.TrackModified = list.TrackModified;
						//this.SetModified();
					}
					this.Value = valueList.ToString();
				}
			}
			base.OnLoad(e);

			if (!Sitecore.Web.UI.XamlSharp.Xaml.XamlControl.AjaxScriptManager.IsEvent) {
				SheerResponse.Alert("hey2", true);
			}
		}
コード例 #41
0
        /// <summary>
        /// This is the process that Runs the Index Rebuild
        /// </summary>
        private void BuildIndexes()
        {
            var selected = new ListString(Registry.GetString("/Current_User/Rebuild Search Index/Selected"));
              var indexMap = new ListString();
              foreach (Index str3 in SearchManager.Indexes)
              {
            this.BuildIndexCheckbox(str3.Name, str3.Name, selected, indexMap);
              }

              if (Config.Scaling.Enabled)
              {
            RemoteSearchManager.Initialize();
            foreach (RemoteIndex str3 in RemoteSearchManager.Indexes)
            {
              this.BuildIndexCheckbox(str3.Name, str3.Name, selected, indexMap);
            }

            InMemorySearchManager.Initialize();
            foreach (InMemoryIndex str3 in InMemorySearchManager.Indexes)
            {
              this.BuildIndexCheckbox(str3.Name, str3.Name, selected, indexMap);
            }
              }

              this.BuildIndexCheckbox("$system", "Quick search index", selected, indexMap);
              this.IndexMap = indexMap.ToString();
        }
コード例 #42
0
ファイル: EditOrder.cs プロジェクト: HydAu/sitecore8ecommerce
        /// <summary>
        /// Gets the fields.
        /// </summary>
        /// <param name="fields">The fields.</param>
        /// <returns>Returns a collection of field for edit.</returns>
        protected virtual string GetFields(StringCollection fields)
        {
            ListString ls = new ListString();
              foreach (string fieldId in fields)
              {
            ls.Add(fieldId);
              }

              return ls.ToString();
        }
コード例 #43
0
        protected override void OnLoad(EventArgs e)
        {
            Assert.ArgumentNotNull(e, "e");

            if (!Sitecore.Context.ClientPage.IsEvent)
            {
                isEvent = false;
                Sitecore.Shell.Applications.ContentEditor.Checklist list = new Sitecore.Shell.Applications.ContentEditor.Checklist();
                this.Controls.Add(list);
                list.ID            = GetID("list");
                list.Source        = this.Source;
                list.ItemID        = ItemID;
                list.FieldName     = FieldName;
                list.TrackModified = TrackModified;
                list.Disabled      = this.Disabled;
                list.Value         = this.Value;


                Sitecore.Shell.Applications.ContentEditor.Text text = new Sitecore.Shell.Applications.ContentEditor.Text();
                this.Controls.AddAt(0, text);
                text.ID       = GetID("text");
                text.ReadOnly = true;
                text.Disabled = this.Disabled;

                Button b = new Button();
                this.Controls.Add(b);
                b.ID       = GetID("button");
                b.Disabled = this.Disabled;
                b.Click    = "checklist:selectplayer";
                b.Header   = "click me";

                this.Controls.Add(new LiteralControl(Sitecore.Resources.Images.GetSpacer(0x18, 16)));
            }
            else
            {
                Sitecore.Shell.Applications.ContentEditor.Checklist list = FindControl(GetID("list")) as Sitecore.Shell.Applications.ContentEditor.Checklist;
                if (list != null)
                {
                    ListString valueList = new ListString();
                    foreach (DataChecklistItem item in list.Items)
                    {
                        if (item.Checked)
                        {
                            valueList.Add(item.ItemID);
                        }
                    }
                    if (this.Value != valueList.ToString())
                    {
                        this.TrackModified = list.TrackModified;
                        //this.SetModified();
                    }
                    this.Value = valueList.ToString();
                }
            }
            base.OnLoad(e);

            if (!Sitecore.Web.UI.XamlSharp.Xaml.XamlControl.AjaxScriptManager.IsEvent)
            {
                SheerResponse.Alert("hey2", true);
            }
        }
コード例 #44
0
        /// <summary>
        /// Checkout delivery alternative changed.
        /// </summary>
        /// <param name="optionTitle">The option title.</param>
        /// <param name="optionCode">The option code.</param>
        public virtual void PaymentMethodSelected(string optionTitle, string optionCode)
        {
            Assert.ArgumentNotNull(optionTitle, "optionTitle");
            Assert.ArgumentNotNull(optionCode, "optionCode");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve<AnalyticsHelper>();
            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string description = analyticsHelper.GetPageEventDescription(EventConstants.EventCheckoutPaymentMethodSelected);
            if (string.IsNullOrEmpty(description))
            {
                description = EventConstants.EventCheckoutPaymentMethodSelected;
            }

            string text = description.FormatWith(new { Option = optionTitle, });
            ListString data = new ListString { optionCode, optionTitle };

            var currentPage = Tracker.Current.CurrentPage;
            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventCheckoutPaymentMethodSelected) { Text = text, Data = data.ToString() };
            currentPage.Register(pageEventData);
        }
コード例 #45
0
    /// <summary>
    /// Formats the parameters.
    /// </summary>
    /// <param name="keyParams">The parameters.</param>
    private void FormatParameters([NotNull] IEnumerable keyParams)
    {
      Debug.ArgumentNotNull(keyParams, "keyParams");

      var list = new ListString();

      foreach (var param in keyParams)
      {
        if ((param == null) || string.IsNullOrEmpty(param.ToString()))
        {
          list.Add("Not defined");
          continue;
        }

        list.Add(param.ToString());
      }

      this.formattedParameters = list.ToString();
    }
コード例 #46
0
 /// <summary>
 /// Adds string value to the pipe-separated value field.
 /// By default NameValueCollection uses comma.
 /// </summary>
 /// <param name="list">The list.</param>
 /// <param name="key">The key.</param>
 /// <param name="value">The value.</param>
 private static void AddListStringValue(NameValueCollection list, string key, string value)
 {
     if (string.IsNullOrEmpty(list[key]))
       {
     list.Add(key, value);
       }
       else
       {
     var values = new ListString(list[key]) { value };
     list[key] = values.ToString();
       }
 }
コード例 #47
0
        /// <summary>
        /// Handles the Click event of the btnEmptyShoppingCart control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void btnEmptyShoppingCart_Click(object sender, EventArgs e)
        {
            uint numberOfProducts = 0;
              ListString shoppingCartContent = new ListString();
              foreach (ShoppingCartLine line in this.Cart.ShoppingCartLines)
              {
            shoppingCartContent.Add(line.Product.Code);
            numberOfProducts += line.Quantity;
              }

              AnalyticsUtil.ShoppingCartEmptied(shoppingCartContent.ToString(), numberOfProducts);

              this.Cart.ShoppingCartLines.Clear();

              ICheckOut checkOut = Sitecore.Ecommerce.Context.Entity.Resolve<ICheckOut>();
              if (checkOut is CheckOut)
              {
            ((CheckOut)checkOut).ResetCheckOut();
              }

              ItemUtil.RedirectToNavigationLink(ContinueShopping, false);
        }
コード例 #48
0
        /// <summary>
        /// Used to read the querystring parameter from a productlink in list and register event in analytics database.
        /// </summary>
        public virtual void FollowListHit()
        {
            if (!Tracker.IsActive)
            {
                return;
            }

            string setting = Settings.GetSetting("Ecommerce.Analytics.EventQueryStringKey");

            UrlString urlString = new UrlString(WebUtil.GetRawUrl());

            string listName = urlString[setting + "_data"] ?? string.Empty;

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve<AnalyticsHelper>();
            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string eventDescription = analyticsHelper.GetPageEventDescription(EventConstants.EventUserClickedItemInList);
            if (string.IsNullOrEmpty(eventDescription))
            {
                eventDescription = EventConstants.EventUserClickedItemInList;
            }

            string text = eventDescription.FormatWith(new { List = listName, ProductName = Sitecore.Context.Item["Title"] });
            ListString data = new ListString { listName, Sitecore.Context.Item["Title"] };

            var currentPage = Tracker.Current.CurrentPage;
            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventUserClickedItemInList) { Text = text, Data = data.ToString() };
            currentPage.Register(pageEventData);
        }
コード例 #49
0
 private void makeLink(string name, string icon, Item link)
 {
     ListString desktoplinks = new ListString(Registry.GetString("/Current_User/Desktop/Links"), '|');
     ListString parameters = new ListString('^');
     parameters.Add(databasename);
     parameters.Add(link.ID.ToString());
     parameters.Add(name);
     parameters.Add(icon);
     desktoplinks.Add(parameters.ToString());
     Registry.SetString("/Current_User/Desktop/Links", desktoplinks.ToString());
     Sitecore.Context.ClientPage.ClientResponse.Alert("Link created. It will not appear until Desktop is refreshed");
 }
コード例 #50
0
        protected override void OnOK(object sender, EventArgs args)
        {
            var selectedFields = new ListString();
            var fieldValue = "";
            foreach (var border in Fields.Controls.OfType<GridPanel>())
            {
                foreach (var checkbox in border.Controls.OfType<Checkbox>())
                {
                    if (checkbox.Checked)
                    {
                        selectedFields.Add(checkbox.Header);
                        var control = checkbox.Parent.FindControl(checkbox.ID.Replace("cb", "ta")) as HtmlTextArea;
                        if(control != null) fieldValue = control.Value;
                    }
                    
                }
            }

            if (WebUtil.GetQueryString("mode") == "rte")
            {
                if (selectedFields.Count > 0)
                {

                    var html = string.Format("<span field='{0}' itemid='{1}' style='{2}'>{3}</span>",
                            selectedFields,
                            Treeview.GetSelectionItem().ID,
                            Settings.SnippetStyle,
                            fieldValue
                        );
                    SheerResponse.Eval(
                        string.Concat(
                        "scClose(",                       
                        StringUtil.EscapeJavascriptString(html),
                        ")"
                        ));
                }
                else
                {
                    SheerResponse.Eval("scClose()");
                }
            }

            else
            {
                var fieldEditorOptions = FieldEditorOptions.Parse(WebUtil.GetQueryString("hdl"));
                var fieldField = fieldEditorOptions.Fields.SingleOrDefault(fd => fd.FieldID.Equals(new ID("{AC2FF529-BE03-439C-9EB6-E56A0D5E4123}"))); // Fields 

                if (fieldField != null)
                {
                    fieldField.ContainsStandardValue = false;

                    fieldField.Value = selectedFields.ToString();
                }

                var datasourceField = fieldEditorOptions.Fields.SingleOrDefault(fd => fd.FieldID.Equals(new ID("{0793DCFF-0EE7-48AD-B9D4-EF1DD24EB59B}"))); // Datasource
                if (datasourceField != null)
                {
                    datasourceField.ContainsStandardValue = false;
                    datasourceField.Value = Treeview.GetSelectionItem().Paths.FullPath;
                }


                SheerResponse.SetDialogValue(fieldEditorOptions.ToUrlHandle().ToHandleString());
                SheerResponse.CloseWindow();
            }



        }
コード例 #51
0
 private void MakeLink(string name, string icon, Item link)
 {
     var desktoplinks = new ListString(Registry.GetString("/Current_User/Desktop/Links"), '|');
     var parameters = new ListString('^') {Databasename, link.ID.ToString(), name, icon};
     desktoplinks.Add(parameters.ToString());
     Registry.SetString("/Current_User/Desktop/Links", desktoplinks.ToString());
     Sitecore.Context.ClientPage.ClientResponse.Alert(Translate.Text(ConfirmationMessage));
 }
コード例 #52
0
 protected void ToggleRibbonStrip(string id)
 {
     Assert.ArgumentNotNull(id, "id");
     ListString str = new ListString(UserOptions.ContentEditor.VisibleStrips);
     if (str.Count == 0)
     {
         Database database = Factory.GetDatabase("core", false);
         Assert.IsNotNull(database, typeof(Database));
         Item item = database.GetItem(ItemIDs.DefaultRibbon);
         Assert.IsNotNull(item, typeof(Ribbon));
         foreach (Item item2 in item.Children)
         {
             Item item3 = item2;
             if (item3.TemplateID == TemplateIDs.Reference)
             {
                 item3 = item3.Database.Items[item3["Reference"]];
             }
             if (item3["Hidden by default"] != "1")
             {
                 str.Add(item3.ID.ToString());
             }
         }
     }
     if (str.Contains(id))
     {
         if (str.Count > 1)
         {
             str.Remove(id);
         }
         else
         {
             SheerResponse.Alert("You cannot remove the last strip from the ribbon.", new string[0]);
         }
     }
     else
     {
         str.Add(id);
     }
     UserOptions.ContentEditor.VisibleStrips = str.ToString();
     this.Reload();
 }
コード例 #53
0
 public string GetValue()
 {
     ListString list = new ListString();
      string id = GetViewStateString("ID");
      Sitecore.Web.UI.HtmlControls.Listbox listbox = FindControl(id + "_selected") as Sitecore.Web.UI.HtmlControls.Listbox;
      Sitecore.Web.UI.HtmlControls.ListItem[] itemArray = listbox.Items;
      for (int i = 0; i < itemArray.Length; i++)
      {
     Sitecore.Web.UI.HtmlControls.ListItem item = itemArray[i];
     string[]pair  = item.Value.Split(new char[]{'|'});
     if(pair.Length <= 1)
     {
        continue;
     }
     list.Add(pair[1]);
      }
      return list.ToString();
 }
コード例 #54
0
 protected void Validator_SuppressValidator(string markerId)
 {
     Assert.ArgumentNotNull(markerId, "markerId");
     Assert.IsTrue(UserOptions.ContentEditor.ShowValidatorBar, "Validator bar is switched off in Content Editor.");
     ValidatorCollection validators = ValidatorManager.GetValidators(ValidatorsMode.ValidatorBar, this.ValidatorsKey);
     var byMarkerID = validators.GetByMarkerID(markerId);
     if (byMarkerID != null)
     {
         Assert.IsNotNull(byMarkerID.ItemUri, "Item URI is null.");
         Item item = Database.GetItem(byMarkerID.ItemUri);
         if (item != null)
         {
             ListString str = new ListString(item["__Suppressed Validation Rules"]);
             Assert.IsNotNull(byMarkerID.ValidatorID, "Validator ID is null.");
             if (!str.Contains(byMarkerID.ValidatorID.ToString()))
             {
                 str.Add(byMarkerID.ValidatorID.ToString());
                 using (new SecurityDisabler())
                 {
                     item.Editing.BeginEdit();
                     item["__Suppressed Validation Rules"] = str.ToString();
                     item.Editing.EndEdit();
                 }
                 validators.Remove(byMarkerID);
                 WebUtil.SetSessionValue(this.ValidatorsKey + ValidatorsMode.ValidatorBar, validators);
                 SheerResponse.Eval("scContent.validate()");
             }
         }
     }
 }
コード例 #55
0
ファイル: LanguageHistory.cs プロジェクト: vsegrad/Console
 private void Save()
 {
     Registry.SetString(HistoryKey, _list.ToString());
 }
コード例 #56
0
        /// <summary>
        /// Handles the grid row double click event.
        /// </summary>
        /// <param name="args">The arguments.</param>
        public virtual void AddButtonClick(GridCommandEventArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

              if (args.RowsID == null)
              {
            return;
              }

              var rowIDs = new ListString();
              var showProductGridItemDublicatedAlert = false;

              foreach (var id in args.RowsID.Cast<string>().Where(ID.IsID))
              {
            if (this.View.SelectedProducts.Contains(id))
            {
              showProductGridItemDublicatedAlert = true;
            }
            else
            {
              rowIDs.Add(id);
            }
              }

              if (rowIDs.Count > 0)
              {
            this.View.AddRowToSelectedProductsGrid(rowIDs.ToString());
              }

              if (showProductGridItemDublicatedAlert)
              {
            this.View.ShowProductGridItemDublicatedAlert();
              }
        }
コード例 #57
0
    /// <summary>
    /// Updates the links.
    /// </summary>
    /// <param name="root">The root.</param>
    /// <param name="currentItem">The current item.</param>
    /// <param name="mapping">The mapping.</param>
    private void UpdateLinks(Item root, Item currentItem, IDictionary<ID, string> mapping)
    {
      using (new EditContext(currentItem))
      {
        foreach (Field field in currentItem.Fields)
        {
          ListString references = new ListString(field.Value);

          if (references.All(ID.IsID))
          {
            ListString updatedReferences = new ListString();
            
            foreach (string reference in references)
            {
              ID key = ID.Parse(reference);
              if (mapping.ContainsKey(key))
              {
                updatedReferences.Add(root.Axes.GetDescendant(mapping[key]).ID.ToString());
              }
              else
              {
                updatedReferences.Add(reference);
              }
            }

            field.Value = updatedReferences.ToString();
          }
        }
      }

      foreach (Item child in currentItem.Children)
      {
        this.UpdateLinks(root, child, mapping);
      }
    }
コード例 #58
0
        /// <summary>
        /// Products the reviewed.
        /// </summary>
        /// <param name="productCode">The product code.</param>
        /// <param name="productName">Name of the product.</param>
        /// <param name="title">The title.</param>
        /// <param name="description">The description.</param>
        /// <param name="rate">The product rate.</param>
        public virtual void ProductReviewed(string productCode, string productName, string title, string description, string rate)
        {
            Assert.ArgumentNotNull(title, "title");
            Assert.ArgumentNotNull(description, "description");
            Assert.ArgumentNotNull(rate, "rate");
            Assert.ArgumentNotNull(productCode, "productCode");
            Assert.ArgumentNotNull(productName, "productName");

            if (!Tracker.IsActive)
            {
                return;
            }

            AnalyticsHelper analyticsHelper = Context.Entity.Resolve<AnalyticsHelper>();
            Assert.IsNotNull(analyticsHelper, "analyticsHelper");

            string eventDescription = analyticsHelper.GetPageEventDescription(EventConstants.EventProductReviewed);
            if (string.IsNullOrEmpty(eventDescription))
            {
                eventDescription = EventConstants.EventProductReviewed;
            }

            string text = eventDescription.FormatWith(new { Title = title, Text = description, Rate = rate, ProductName = productName });
            ListString data = new ListString { productCode, title, description, rate, productName };

            var currentPage = Tracker.Current.CurrentPage;
            if (currentPage == null)
            {
                return;
            }

            var pageEventData = new PageEventData(EventConstants.EventProductReviewed) { Text = text, Data = data.ToString() };
            currentPage.Register(pageEventData);
        }