using System;
using System.Data;
using System.Text;
using System.Xml;
using CMS.CMSHelper;
using CMS.GlobalHelper;
using CMS.SettingsProvider;
using CMS.Synchronization;
using CMS.UIControls;
public partial class CMSModules_Staging_Tools_Controls_ViewTask : CMSAdminEditControl
{
#region "Variables"
private int mTaskId = 0;
#endregion
#region "Properties"
///
/// Gets or sets the ID of the task.
///
public int TaskId
{
get
{
return mTaskId;
}
set
{
mTaskId = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
TaskInfo ti = TaskInfoProvider.GetTaskInfo(TaskId);
// Set edited object
EditedObject = ti;
if (ti != null)
{
((CMSDeskPage)Page).CurrentMaster.Title.TitleText += " (" + HTMLHelper.HTMLEncode(ti.TaskTitle) + ")";
// Prepare task description
StringBuilder sbTaskInfo = new StringBuilder();
sbTaskInfo.Append("
");
sbTaskInfo.Append("| " + GetString("staging.tasktype") + " | " + ti.TaskType.ToString() + " |
");
sbTaskInfo.Append("| " + GetString("staging.tasktime") + " | " + ti.TaskTime.ToString() + " |
");
sbTaskInfo.Append("| " + GetString("staging.taskprocessedby") + " | " + DataHelper.GetNotEmpty(ti.TaskServers.Trim(';').Replace(";", ", "), "-") + " |
");
sbTaskInfo.Append("
");
string objectType = ti.TaskObjectType;
if (ti.TaskNodeID > 0)
{
objectType = PredefinedObjectType.DOCUMENT;
}
viewDataSet.ObjectType = objectType;
viewDataSet.DataSet = GetDataSet(ti.TaskData, ti.TaskType, ti.TaskObjectType);
viewDataSet.AdditionalContent = sbTaskInfo.ToString();
}
}
///
/// Returns the dataset loaded from the given document data.
///
/// Document data to make the dataset from
/// Task type
/// Task object type
protected virtual DataSet GetDataSet(string documentData, TaskTypeEnum taskType, string taskObjectType)
{
SyncHelper syncHelper = SyncHelper.GetInstance();
syncHelper.OperationType = OperationTypeEnum.Synchronization;
string className = CMSHierarchyHelper.GetNodeClassName(documentData, ExportFormatEnum.XML);
DataSet ds = syncHelper.GetSynchronizationTaskDataSet(taskType, className, taskObjectType);
XmlParserContext xmlContext = new XmlParserContext(null, null, null, XmlSpace.None);
XmlReader reader = new XmlTextReader(documentData, XmlNodeType.Element, xmlContext);
return DataHelper.ReadDataSetFromXml(ds, reader, null, null);
}
}