HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
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);
        }
    }
}