Esempio n. 1
0
        /// <summary>
        /// Executes the command in the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        public override void Execute(CommandContext context)
        {
            Assert.ArgumentNotNull((object)context, "context");
            if (context.Items.Length != 1)
            {
                return;
            }
            NameValueCollection parameters = new NameValueCollection();

            string  itemID  = context.Parameters["itemid"] ?? context.Parameters["id"];
            ItemUri itemUri = ItemUri.ParseQueryString();

            if (string.IsNullOrEmpty(itemID) && itemUri != (ItemUri)null)
            {
                itemID = itemUri.ItemID.ToString();
            }

            parameters["itemid"] = itemID;
            string language = context.Parameters["language"];

            if (string.IsNullOrEmpty(language))
            {
                language = itemUri.Language.ToString();
            }

            Sitecore.Data.Version version = itemUri.Version;

            parameters["database"] = itemUri.DatabaseName;
            parameters["language"] = language;
            parameters["navigate"] = context.Parameters["navigate"];
            parameters["version"]  = version.ToString();
            Context.ClientPage.Start((object)this, "Run", parameters);
        }
        private void Provider_OnRemoveVersion(object sender, EventArgs e)
        {
            Assert.ArgumentNotNull(sender, "sender");
            Assert.ArgumentNotNull(e, "e");
            Database database = SitecoreEventArgs.GetObject(e, 0) as Database;

            if ((database != null) && (database.Name == this._database.Name))
            {
                ID iD = SitecoreEventArgs.GetID(e, 1);
                Assert.IsNotNull(iD, "ID is not passed to RemoveVersion handler");
                Language language = SitecoreEventArgs.GetObject(e, 2) as Language;
                Assert.IsNotNull(language, "Language is not passed to RemoveVersion handler");
                Sitecore.Data.Version version = SitecoreEventArgs.GetObject(e, 3) as Sitecore.Data.Version;
                Assert.IsNotNull(version, "Version is not passed to RemoveVersion handler");
                using (IndexDeleteContext context = this._index.CreateDeleteContext())
                {
                    this.DeleteVersion(iD, language.ToString(), version.ToString(), context);
                    context.Commit();
                }
            }
        }