diff --git a/ScheduledParameterJob/DatabaseJobAdapter.cs b/ScheduledParameterJob/DatabaseJobAdapter.cs index ec45d30..33b140d 100644 --- a/ScheduledParameterJob/DatabaseJobAdapter.cs +++ b/ScheduledParameterJob/DatabaseJobAdapter.cs @@ -1,12 +1,15 @@ using System; using System.Collections.Generic; using System.Reflection; +using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.Adapters; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; +using EPiServer.ClientScript; using EPiServer.Data.Dynamic; +using EPiServer.DataAbstraction; using EPiServer.PlugIn; using EPiServer.UI; using EPiServer.UI.Admin; @@ -26,8 +29,8 @@ public class DatabaseJobAdapter : PageAdapter private string PluginId { get { return _pluginId ?? (_pluginId = ((DatabaseJob) Control).Request.QueryString["pluginId"]); } } private Dictionary _persistedValues; - private Dictionary PersistedValues { get { return _persistedValues ?? (_persistedValues = typeof(ScheduledJobParameters).GetStore().LoadPersistedValuesFor(PluginId)); } } - + private Dictionary PersistedValues { get { return _persistedValues ?? (_persistedValues = typeof(ScheduledJobParameters).GetStore().LoadPersistedValuesFor(PluginId)); } } + private ScheduledPlugInWithParametersAttribute _attribute; private ScheduledPlugInWithParametersAttribute Attribute { @@ -68,27 +71,51 @@ public DatabaseJobAdapter() protected override void OnInit(EventArgs e) { base.OnInit(e); + if (string.IsNullOrWhiteSpace(Page.Request.QueryString["GetRunningState"]) && + !Page.Request.ContentType.Contains("application/json")) + { + if (Attribute == null) + { + // Not a job with parameters + return; + } + Attribute.Validate(); + Initialization(); + } + } - if (Attribute == null) + protected override void OnLoad(EventArgs e) + { + if (!string.IsNullOrWhiteSpace(Page.Request.QueryString["GetRunningState"]) && + Page.Request.ContentType.Contains("application/json")) { - // Not a job with parameters - return; + string g = Page.Request.QueryString["GetRunningState"]; + Page.Response.Clear(); + Page.Response.ContentType = "application/json"; + Page.Response.Write(GetJSONJobRunningState(new Guid(g))); + Page.Response.End(); + } + else + { + base.OnLoad(e); } - Attribute.Validate(); - Initialization(); } protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); - if (Attribute == null) - { - // Not a job with parameters - return; - } - foreach (var control in ParameterControls) + if (string.IsNullOrWhiteSpace(Page.Request.QueryString["GetRunningState"]) && + !Page.Request.ContentType.Contains("application/json")) { - control.DataBind(); + if (Attribute == null) + { + // Not a job with parameters + return; + } + foreach (var control in ParameterControls) + { + control.DataBind(); + } } } @@ -143,18 +170,18 @@ private Control CreateFieldsetFor(IEnumerable controls) fieldset.Controls.Add(SaveAndResetValuesButtons()); return fieldset; } - + private Control SaveAndResetValuesButtons() { var container = new HtmlGenericControl("div"); container.Attributes.Add("class", "save-and-reset-button-container"); var resetButton = new Button - { - Text = "Reset values", - ToolTip = "Resets all parameters for this scheduled job to their default values.", - CssClass = "reset-button" - }; + { + Text = "Reset values", + ToolTip = "Resets all parameters for this scheduled job to their default values.", + CssClass = "reset-button" + }; resetButton.Click += new EventHandler(ResetValues_Click); var resetButtonOutline = new HtmlGenericControl("span"); resetButtonOutline.Attributes.Add("class", "epi-cmsButton"); @@ -162,17 +189,17 @@ private Control SaveAndResetValuesButtons() container.Controls.Add(resetButtonOutline); var saveButton = new Button - { - Text = "Save values", - ToolTip = "Saves all parameters for this scheduled job.", - CssClass = "epi-cmsButton-tools save-button" - }; + { + Text = "Save values", + ToolTip = "Saves all parameters for this scheduled job.", + CssClass = "epi-cmsButton-tools save-button" + }; saveButton.Click += new EventHandler(SaveValues_Click); var saveButtonOutline = new HtmlGenericControl("span"); saveButtonOutline.Attributes.Add("class", "epi-cmsButton"); saveButtonOutline.Controls.Add(saveButton); container.Controls.Add(saveButtonOutline); - + return container; } @@ -206,11 +233,11 @@ private static Control CreateRowFor(ParameterControlDTO parameterControlDto) if(parameterControlDto.ShowLabel) { var label = new Label - { - AssociatedControlID = parameterControlDto.Id, - Text = parameterControlDto.LabelText, - ToolTip = parameterControlDto.Description - }; + { + AssociatedControlID = parameterControlDto.Id, + Text = parameterControlDto.LabelText, + ToolTip = parameterControlDto.Description + }; rowContainer.Controls.Add(label); } else @@ -247,5 +274,28 @@ private void AddStylesheet() cssLink.Attributes.Add("media", "screen"); Page.Header.Controls.Add(cssLink); } + + private string GetJSONJobRunningState(Guid scheduledJobId) + { + var isRunning = false; + var statusMessage = string.Empty; + var scheduledJob = ScheduledJob.Load(scheduledJobId); + if (scheduledJob != null) + { + isRunning = scheduledJob.IsRunning; + statusMessage = scheduledJob.CurrentStatusMessage; + } + var stringBuilder = new StringBuilder(); + stringBuilder.Append("{'IsRunning': "); + stringBuilder.Append(isRunning.ToString().ToLower()); + if (!string.IsNullOrEmpty(statusMessage)) + { + stringBuilder.Append(", 'CurrentStatusMessage': '"); + stringBuilder.Append(ClientScriptUtility.ToScriptSafeString(statusMessage)); + stringBuilder.Append("'"); + } + stringBuilder.Append("}"); + return stringBuilder.ToString(); + } } } diff --git a/ScheduledParameterJob/ScheduledParameterJob.sln b/ScheduledParameterJob/ScheduledParameterJob.sln new file mode 100644 index 0000000..3b84893 --- /dev/null +++ b/ScheduledParameterJob/ScheduledParameterJob.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.23107.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScheduledParameterJob", "ScheduledParameterJob.csproj", "{3F77F381-C6B8-4D01-8E2C-5C11EBE151C5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3F77F381-C6B8-4D01-8E2C-5C11EBE151C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3F77F381-C6B8-4D01-8E2C-5C11EBE151C5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3F77F381-C6B8-4D01-8E2C-5C11EBE151C5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3F77F381-C6B8-4D01-8E2C-5C11EBE151C5}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ScheduledParameterJobEPiServer75/DatabaseJobAdapter.cs b/ScheduledParameterJobEPiServer75/DatabaseJobAdapter.cs index 702f9bd..a5891d3 100644 --- a/ScheduledParameterJobEPiServer75/DatabaseJobAdapter.cs +++ b/ScheduledParameterJobEPiServer75/DatabaseJobAdapter.cs @@ -6,89 +6,117 @@ using System.Web.UI.Adapters; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; +using EPiServer.ClientScript; using EPiServer.Data.Dynamic; +using EPiServer.DataAbstraction; using EPiServer.PlugIn; using EPiServer.Shell.WebForms; -using EPiServer.Templates.Alloy.ScheduledParameterJob.Extensions; +using EPiServer.UI; using EPiServer.UI.Admin; +using Newtonsoft.Json; +using ScheduledParameterJobEPiServer75.Extensions; -[assembly: WebResource("EPiServer.Templates.Alloy.ScheduledParameterJob.Style.JobParameters.css", "text/css")] -namespace EPiServer.Templates.Alloy.ScheduledParameterJob +[assembly: WebResource("ScheduledParameterJobEPiServer75.Style.JobParameters.css", "text/css")] +namespace ScheduledParameterJobEPiServer75 { public class DatabaseJobAdapter : PageAdapter { private const string ShowResetMessage = "ShowResetMessage"; private const string ShowSaveMessage = "ShowSaveMessage"; - private List ParameterControls { get; set; } // Would be a pain finding them again. - + private ScheduledPlugInWithParametersAttribute _attribute; + private IParameterDefinitions _parameterDefinitions; + private Dictionary _persistedValues; private string _pluginId; - private string PluginId { get { return _pluginId ?? (_pluginId = ((DatabaseJob) Control).Request.QueryString["pluginId"]); } } - private Dictionary _persistedValues; - private Dictionary PersistedValues { get { return _persistedValues ?? (_persistedValues = typeof(ScheduledJobParameters).GetStore().LoadPersistedValuesFor(PluginId)); } } - - private ScheduledPlugInWithParametersAttribute _attribute; + public DatabaseJobAdapter() + { + ParameterControls = new List(); + } + + private List ParameterControls { get; set; } + + private string PluginId + { + get { return _pluginId ?? (_pluginId = ((Page)Control).Request.QueryString["pluginId"]); } + } + + private Dictionary PersistedValues + { + get + { + return _persistedValues ?? + (_persistedValues = typeof(ScheduledJobParameters).GetStore().LoadPersistedValuesFor(PluginId)); + } + } + private ScheduledPlugInWithParametersAttribute Attribute { get { if (_attribute == null) - { - var descriptor = PlugInDescriptor.Load(int.Parse(PluginId)); - _attribute = descriptor.GetAttribute(typeof (ScheduledPlugInWithParametersAttribute)) as ScheduledPlugInWithParametersAttribute; - } + _attribute = + PlugInDescriptor.Load(int.Parse(PluginId)) + .GetAttribute(typeof(ScheduledPlugInWithParametersAttribute)) as + ScheduledPlugInWithParametersAttribute; + return _attribute; } } - private IParameterDefinitions _parameterDefinitions; private IParameterDefinitions Definitions { get { if (_parameterDefinitions == null) { - var assembly = Assembly.Load(Attribute.DefinitionsAssembly); - _parameterDefinitions = assembly.CreateInstance(Attribute.DefinitionsClass) as IParameterDefinitions; + _parameterDefinitions = + Assembly.Load(Attribute.DefinitionsAssembly).CreateInstance(Attribute.DefinitionsClass) as + IParameterDefinitions; if (_parameterDefinitions == null) - { throw new Exception("Your DefinitionsClass must implement the IParameterDefinitions interface."); - } } return _parameterDefinitions; } } - public DatabaseJobAdapter() - { - ParameterControls = new List(); - } - protected override void OnInit(EventArgs e) { base.OnInit(e); + if (string.IsNullOrWhiteSpace(Page.Request.QueryString["GetRunningState"])) + { + if (Attribute == null) + return; + Attribute.Validate(); + Initialization(); + } + } - if (Attribute == null) + protected override void OnLoad(EventArgs e) + { + if (!string.IsNullOrWhiteSpace(Page.Request.QueryString["GetRunningState"])) { - // Not a job with parameters - return; + string g = Page.Request.QueryString["GetRunningState"]; + Page.Response.Clear(); + Page.Response.ContentType = "application/json"; + Page.Response.Write(GetJSONJobRunningState(new Guid(g))); + Page.Response.End(); + } + else + { + base.OnLoad(e); } - Attribute.Validate(); - Initialization(); } protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); - if (Attribute == null) - { - // Not a job with parameters - return; - } - foreach (var control in ParameterControls) + if (string.IsNullOrWhiteSpace(Page.Request.QueryString["GetRunningState"])) { - control.DataBind(); + if (Attribute == null) + return; + foreach (var control in ParameterControls) + control.DataBind(); } } @@ -101,21 +129,27 @@ private void Initialization() private void DisplaySystemMessage() { - var databaseJob = (DatabaseJob) Control; - var systemPageBase = databaseJob.Page as WebFormsBase; + var databaseJob = (DatabaseJob)Control; + var systemPageBase = databaseJob.Page as SystemPageBase; if (systemPageBase == null) - { return; - } - if (databaseJob.Request.Cookies[ShowResetMessage] != null) + if (databaseJob.Request.Cookies["ShowResetMessage"] != null) { - systemPageBase.SystemMessageContainer.Message = "Parameter values were reset to default for this scheduled job."; - databaseJob.Response.Cookies[ShowResetMessage].Expires = DateTime.Now.AddDays(-1); + systemPageBase.SystemMessageContainer.Message = + "Parameter values were reset to default for this scheduled job."; + var showResetMessageCookie = databaseJob.Response.Cookies["ShowResetMessage"]; + if (showResetMessageCookie != null) + showResetMessageCookie.Expires = DateTime.Now.AddDays(-1.0); } - else if (databaseJob.Request.Cookies[ShowSaveMessage] != null) + else { - systemPageBase.SystemMessageContainer.Message = "Parameter values were successfully saved for this scheduled job."; - databaseJob.Response.Cookies[ShowSaveMessage].Expires = DateTime.Now.AddDays(-1); + if (databaseJob.Request.Cookies["ShowSaveMessage"] == null) + return; + systemPageBase.SystemMessageContainer.Message = + "Parameter values were successfully saved for this scheduled job."; + var showSaveMessageCookie = databaseJob.Response.Cookies["ShowSaveMessage"]; + if (showSaveMessageCookie != null) + showSaveMessageCookie.Expires = DateTime.Now.AddDays(-1.0); } } @@ -132,7 +166,7 @@ private Control CreateFieldsetFor(IEnumerable controls) { var fieldset = new HtmlGenericControl("fieldset"); fieldset.Attributes.Add("class", "job-parameters-container"); - fieldset.Controls.Add(new HtmlGenericControl("legend") {InnerText = "Job parameters"}); + fieldset.Controls.Add(new HtmlGenericControl("legend") { InnerText = "Job parameters" }); foreach (var parameterControl in controls) { @@ -143,36 +177,36 @@ private Control CreateFieldsetFor(IEnumerable controls) fieldset.Controls.Add(SaveAndResetValuesButtons()); return fieldset; } - + private Control SaveAndResetValuesButtons() { var container = new HtmlGenericControl("div"); container.Attributes.Add("class", "save-and-reset-button-container"); var resetButton = new Button - { - Text = "Reset values", - ToolTip = "Resets all parameters for this scheduled job to their default values.", - CssClass = "reset-button" - }; - resetButton.Click += new EventHandler(ResetValues_Click); + { + Text = "Reset values", + ToolTip = "Resets all parameters for this scheduled job to their default values.", + CssClass = "reset-button" + }; + resetButton.Click += ResetValues_Click; var resetButtonOutline = new HtmlGenericControl("span"); resetButtonOutline.Attributes.Add("class", "epi-cmsButton"); resetButtonOutline.Controls.Add(resetButton); container.Controls.Add(resetButtonOutline); var saveButton = new Button - { - Text = "Save values", - ToolTip = "Saves all parameters for this scheduled job.", - CssClass = "epi-cmsButton-tools save-button" - }; - saveButton.Click += new EventHandler(SaveValues_Click); + { + Text = "Save values", + ToolTip = "Saves all parameters for this scheduled job.", + CssClass = "epi-cmsButton-tools save-button" + }; + saveButton.Click += SaveValues_Click; var saveButtonOutline = new HtmlGenericControl("span"); saveButtonOutline.Attributes.Add("class", "epi-cmsButton"); saveButtonOutline.Controls.Add(saveButton); container.Controls.Add(saveButtonOutline); - + return container; } @@ -193,7 +227,7 @@ private void SaveValues_Click(object sender, EventArgs e) private void RefreshWithMessage(string message) { - var databaseJob = ((DatabaseJob) Control); + var databaseJob = ((DatabaseJob)Control); databaseJob.Response.SetCookie(new HttpCookie(message, "true")); databaseJob.Response.Redirect(databaseJob.Request.Url.ToString()); } @@ -203,14 +237,14 @@ private static Control CreateRowFor(ParameterControlDTO parameterControlDto) var rowContainer = new HtmlGenericControl("div"); rowContainer.Attributes.Add("class", "parameter-control-container"); var control = parameterControlDto.Control; - if(parameterControlDto.ShowLabel) + if (parameterControlDto.ShowLabel) { var label = new Label - { - AssociatedControlID = parameterControlDto.Id, - Text = parameterControlDto.LabelText, - ToolTip = parameterControlDto.Description - }; + { + AssociatedControlID = parameterControlDto.Id, + Text = parameterControlDto.LabelText, + ToolTip = parameterControlDto.Description + }; rowContainer.Controls.Add(label); } else @@ -230,22 +264,41 @@ private static Control CreateRowFor(ParameterControlDTO parameterControlDto) private void SetPersistedValueFor(ParameterControlDTO controlDto) { - if (PersistedValues.ContainsKey(controlDto.Id)) - { - Definitions.SetValue(controlDto.Control, PersistedValues[controlDto.Id]); - } + if (!PersistedValues.ContainsKey(controlDto.Id)) + return; + Definitions.SetValue(controlDto.Control, PersistedValues[controlDto.Id]); } private void AddStylesheet() { - var cssPath = Page - .ClientScript - .GetWebResourceUrl(typeof(DatabaseJobAdapter), "EPiServer.Templates.Alloy.ScheduledParameterJob.Style.JobParameters.css"); - var cssLink = new HtmlLink { Href = cssPath }; - cssLink.Attributes.Add("rel", "stylesheet"); - cssLink.Attributes.Add("type", "text/css"); - cssLink.Attributes.Add("media", "screen"); - Page.Header.Controls.Add(cssLink); + var webResourceUrl = Page.ClientScript.GetWebResourceUrl(typeof(ScheduledParameterJobEPiServer75.DatabaseJobAdapter), + "ScheduledParameterJob.Style.JobParameters.css"); + var htmlLink = new HtmlLink + { + Href = webResourceUrl + }; + htmlLink.Attributes.Add("rel", "stylesheet"); + htmlLink.Attributes.Add("type", "text/css"); + htmlLink.Attributes.Add("media", "screen"); + Page.Header.Controls.Add(htmlLink); + } + + private string GetJSONJobRunningState(Guid scheduledJobId) + { + var isRunning = false; + var statusMessage = string.Empty; + var scheduledJob = ScheduledJob.Load(scheduledJobId); + if (scheduledJob != null) + { + isRunning = scheduledJob.IsRunning; + statusMessage = scheduledJob.CurrentStatusMessage; + } + + return JsonConvert.SerializeObject(new + { + IsRunning = isRunning, + CurrentStatusMessage = ClientScriptUtility.ToScriptSafeString(statusMessage) + }); } } } diff --git a/ScheduledParameterJobEPiServer75/ExampleJob/DefinitionSample.cs b/ScheduledParameterJobEPiServer75/ExampleJob/DefinitionSample.cs deleted file mode 100644 index 91b22ff..0000000 --- a/ScheduledParameterJobEPiServer75/ExampleJob/DefinitionSample.cs +++ /dev/null @@ -1,155 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web.UI; -using System.Web.UI.WebControls; -using EPiServer.Core; -using EPiServer.Web.WebControls; - -namespace EPiServer.Templates.Alloy.ScheduledParameterJob.ExampleJob -{ - public class DefinitionSample : IParameterDefinitions - { - public IEnumerable GetParameterControls() - { - return new List - { - AddACheckBoxSample(), - AddATextBoxSample(), - AddAnInputPageReferenceSample(), - AddACalendarSample(), - AddADropDownListSample() - }; - } - - public void SetValue(Control control, object value) - { - if (control is CheckBox) - { - ((CheckBox) control).Checked = (bool) value; - } - else if (control is TextBox) - { - ((TextBox) control).Text = (string) value; - } - else if (control is DropDownList) - { - ((DropDownList) control).SelectedValue = (string) value; - } - else if (control is InputPageReference) - { - ((InputPageReference) control).PageLink = (PageReference) value; - } - else if (control is System.Web.UI.WebControls.Calendar) - { - ((System.Web.UI.WebControls.Calendar)control).SelectedDate = (DateTime)value; - } - } - - public object GetValue(Control control) - { - if (control is CheckBox) - { - return ((CheckBox) control).Checked; - } - if (control is TextBox) - { - return ((TextBox) control).Text; - } - if (control is DropDownList) - { - return ((DropDownList) control).SelectedValue; - } - if (control is InputPageReference) - { - return ((InputPageReference) control).PageLink; - } - if (control is System.Web.UI.WebControls.Calendar) - { - return ((System.Web.UI.WebControls.Calendar)control).SelectedDate; - } - return null; - } - - private static ParameterControlDTO AddACheckBoxSample() - { - return new ParameterControlDTO - { - // Omitting LabelText will render control without label - Description = "Sample of a CheckBox control", - Control = new CheckBox - { - ID = "CheckBoxSample", - Text = "CheckBox Sample" - } - }; - } - - private static ParameterControlDTO AddATextBoxSample() - { - return new ParameterControlDTO - { - LabelText = "TextBox Sample", - Description = "Sample of a TextBox control", - Control = new TextBox { ID = "TextBoxSample" } - }; - } - - private static ParameterControlDTO AddAnInputPageReferenceSample() - { - return new ParameterControlDTO - { - LabelText = "InputPageReference Sample", - Description = "Sample of an EPiServer Page Selector control; InputPageReference.", - Control = new InputPageReference { ID = "InputPageReferenceSample" } - }; - } - - private static ParameterControlDTO AddACalendarSample() - { - return new ParameterControlDTO - { - LabelText = "Calendar Sample", - Description = "Sample of a Calendar control", - Control = new System.Web.UI.WebControls.Calendar { ID = "CalendarSample" } - }; - } - - private static ParameterControlDTO AddADropDownListSample() - { - return new ParameterControlDTO - { - LabelText = "DropDownList Sample", - Description = "Sample of a DropDownList control", - Control = new DropDownList - { - ID = "DropDownListSample", - DataTextField = "Text", - DataValueField = "Value", - DataSource = new List - { - new ListItem - { - Text = "The first sample item", - Value = "1" - }, - new ListItem - { - Text = "The second sample item", - Value = "2" - }, - new ListItem - { - Text = "The third sample item", - Value = "3" - }, - new ListItem - { - Text = "The fourth sample item", - Value = "4" - } - } - } - }; - } - } -} diff --git a/ScheduledParameterJobEPiServer75/ExampleJob/SampleParameterJob.cs b/ScheduledParameterJobEPiServer75/ExampleJob/SampleParameterJob.cs deleted file mode 100644 index 1e737f8..0000000 --- a/ScheduledParameterJobEPiServer75/ExampleJob/SampleParameterJob.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Globalization; -using EPiServer.Core; -using EPiServer.Data.Dynamic; -using EPiServer.DataAbstraction; -using EPiServer.PlugIn; -using EPiServer.Templates.Alloy.ScheduledParameterJob.Extensions; - -namespace EPiServer.Templates.Alloy.ScheduledParameterJob.ExampleJob -{ - [ScheduledPlugInWithParameters( - DisplayName = "Sample parameter job", - Description = "Sample job with parameters", - DefinitionsClass = "EPiServer.Templates.Alloy.ScheduledParameterJob.ExampleJob.DefinitionSample", - DefinitionsAssembly = "EPiServer.Templates.Alloy" - )] - public class SampleParameterJob : ScheduledJob - { - public static string Execute() - { - var descriptor = PlugInDescriptor.Load("EPiServer.Templates.Alloy.ScheduledParameterJob.ExampleJob.SampleParameterJob", "EPiServer.Templates.Alloy"); - var store = typeof (ScheduledJobParameters).GetStore(); - var parameters = store.LoadPersistedValuesFor(descriptor.ID.ToString(CultureInfo.InvariantCulture)); - - var cbChecked = parameters.ContainsKey("CheckBoxSample") && (bool) parameters["CheckBoxSample"] ? "Aye!" : "Nay.."; - var tbText = parameters.ContainsKey("TextBoxSample") ? parameters["TextBoxSample"] as string : string.Empty; - var sampleReference = parameters.ContainsKey("InputPageReferenceSample") ? (PageReference)parameters["InputPageReferenceSample"] : PageReference.EmptyReference; - var samplePageName = sampleReference != null && sampleReference != PageReference.EmptyReference ? DataFactory.Instance.GetPage(sampleReference).PageName : string.Empty; - var cDateTime = parameters.ContainsKey("CalendarSample") ? (DateTime?)parameters["CalendarSample"] : null; - var ddlSelectedValue = parameters.ContainsKey("DropDownListSample") ? parameters["DropDownListSample"] as string : string.Empty; - - var result = string.Empty; - result += string.Format("CheckBoxSample checked: {0}
", cbChecked); - result += string.Format("TextBoxSample text: {0}
", tbText); - result += string.Format("InputPageReferenceSample page name: {0} (PageId: {1})
", samplePageName, sampleReference); - result += string.Format("CalendarSample date: {0}
", cDateTime.ToString()); - result += string.Format("DropDownListSample selected value: {0}
", ddlSelectedValue); - return result; - } - } -} diff --git a/ScheduledParameterJobEPiServer75/Extensions/ControlExtensions.cs b/ScheduledParameterJobEPiServer75/Extensions/ControlExtensions.cs index c8131bf..b11d7e8 100644 --- a/ScheduledParameterJobEPiServer75/Extensions/ControlExtensions.cs +++ b/ScheduledParameterJobEPiServer75/Extensions/ControlExtensions.cs @@ -1,7 +1,7 @@ using System.Linq; using System.Web.UI; -namespace EPiServer.Templates.Alloy.ScheduledParameterJob.Extensions +namespace ScheduledParameterJobEPiServer75.Extensions { public static class ControlExtensions { diff --git a/ScheduledParameterJobEPiServer75/Extensions/DynamicDataStoreExtensions.cs b/ScheduledParameterJobEPiServer75/Extensions/DynamicDataStoreExtensions.cs index aed2e3b..41dde46 100644 --- a/ScheduledParameterJobEPiServer75/Extensions/DynamicDataStoreExtensions.cs +++ b/ScheduledParameterJobEPiServer75/Extensions/DynamicDataStoreExtensions.cs @@ -4,7 +4,7 @@ using System.Web.UI; using EPiServer.Data.Dynamic; -namespace EPiServer.Templates.Alloy.ScheduledParameterJob.Extensions +namespace ScheduledParameterJobEPiServer75.Extensions { public static class DynamicDataStoreExtensions { diff --git a/ScheduledParameterJobEPiServer75/IParameterDefinitions.cs b/ScheduledParameterJobEPiServer75/IParameterDefinitions.cs index f02a494..3285488 100644 --- a/ScheduledParameterJobEPiServer75/IParameterDefinitions.cs +++ b/ScheduledParameterJobEPiServer75/IParameterDefinitions.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Web.UI; -namespace EPiServer.Templates.Alloy.ScheduledParameterJob +namespace ScheduledParameterJobEPiServer75 { public interface IParameterDefinitions { diff --git a/ScheduledParameterJobEPiServer75/ParameterControlDTO.cs b/ScheduledParameterJobEPiServer75/ParameterControlDTO.cs index b2b39bc..9861218 100644 --- a/ScheduledParameterJobEPiServer75/ParameterControlDTO.cs +++ b/ScheduledParameterJobEPiServer75/ParameterControlDTO.cs @@ -1,6 +1,6 @@ using System.Web.UI; -namespace EPiServer.Templates.Alloy.ScheduledParameterJob +namespace ScheduledParameterJobEPiServer75 { public class ParameterControlDTO { diff --git a/ScheduledParameterJobEPiServer75/ScheduledJobParameters.cs b/ScheduledParameterJobEPiServer75/ScheduledJobParameters.cs index 5cc0d50..cdd0432 100644 --- a/ScheduledParameterJobEPiServer75/ScheduledJobParameters.cs +++ b/ScheduledParameterJobEPiServer75/ScheduledJobParameters.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using EPiServer.Data.Dynamic; -namespace EPiServer.Templates.Alloy.ScheduledParameterJob +namespace ScheduledParameterJobEPiServer75 { [EPiServerDataStore( StoreName = "ScheduledJobParameters", diff --git a/ScheduledParameterJobEPiServer75/ScheduledPlugInWithParametersAttribute.cs b/ScheduledParameterJobEPiServer75/ScheduledPlugInWithParametersAttribute.cs index 5de8909..a396160 100644 --- a/ScheduledParameterJobEPiServer75/ScheduledPlugInWithParametersAttribute.cs +++ b/ScheduledParameterJobEPiServer75/ScheduledPlugInWithParametersAttribute.cs @@ -1,7 +1,7 @@ using System; using EPiServer.PlugIn; -namespace EPiServer.Templates.Alloy.ScheduledParameterJob +namespace ScheduledParameterJobEPiServer75 { public class ScheduledPlugInWithParametersAttribute : ScheduledPlugInAttribute {