protected static void Run(ClientPipelineArgs args) { Assert.ArgumentNotNull((object)args, "args"); try { var dbName = args.Parameters["database"]; Version version; Language lan; Guid uid, itemId; if (!Guid.TryParse(args.Parameters["referenceId"], out uid) || !Guid.TryParse(args.Parameters["itemId"], out itemId) || !Version.TryParse(args.Parameters["version"], out version) || !Language.TryParse(args.Parameters["language"], out lan)) { Context.ClientPage.ClientResponse.Alert(Translate.Text("The Reset of the Component Changes is FAILED!")); return; } if (args.IsPostBack) { if (!args.HasResult || args.Result != "yes") { return; } var item = Database.GetDatabase(dbName).GetItem(new ID(itemId), lan, version); CompareProvider.GetRenderingsHelper().ResetRendering(item, new ID(uid)); Context.ClientPage.ClientResponse.Alert(Translate.Text("The Reset of the Component Changes is SUCCEEDED on the FINAL Layout for the Item Version {1} of the '{0}' language!").FormatWith(args.Parameters["language"].ToUpper(), args.Parameters["version"])); } else { Context.ClientPage.ClientResponse.Confirm(Translate.Text("Do you want to RESET all Component Changes on the FINAL Layout for the Item Version {1} of the '{0}' language?").FormatWith(args.Parameters["language"].ToUpper(), args.Parameters["version"])); args.WaitForPostBack(); } } catch (Exception ex) { Log.Error(ex.Message, ex, new ResetComponentsChanges()); } }