File: D:/HostingSpaces/TDijk1/erp-apps.eu/wwwroot/App_Code/Pux/Kentico/Tasks/NodeAbsoluteOrderTask.cs
using CMS;
using CMS.DataEngine;
using CMS.Scheduler;
using CMS.SiteProvider;
using Pux.Kentico.Tasks;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
[assembly: RegisterCustomClass("Pux.Kentico.Tasks.NodeAbsoluteOrderTask", typeof(NodeAbsoluteOrderTask))]
namespace Pux.Kentico.Tasks
{
/// <summary>
/// Calculates absolute node order of specified sites.
/// List of sites to be calculated should be provided in TaskData, each site on a separate line.
/// </summary>
public class NodeAbsoluteOrderTask : ITask
{
public string Execute(TaskInfo task)
{
List<string> log = new List<string>();
log.Add("Starting " + DateTime.Now.ToString("o"));
var sites = task.TaskData.Split('\n').Select(p => p.Trim()).Where(p => !string.IsNullOrEmpty(p));
foreach (var siteName in sites)
{
var siteInfo = SiteInfoProvider.GetSiteInfo(siteName);
if (siteInfo == null)
{
log.Add("No site name " + siteName);
continue;
}
var parameters = new QueryDataParameters();
parameters.Add("@siteId", siteInfo.SiteID);
ConnectionHelper.ExecuteQuery("Proc_Pux_CalculateNodeAbsoluteOrder", parameters, QueryTypeEnum.StoredProcedure);
log.Add(siteName);
}
log.Add("Done " + DateTime.Now.ToString("o"));
return string.Join("\n", log);
}
}
}