/// <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(); } } }