📄 schedulehistoryitem.cs
字号:
using System;
using System.Text;
using DotNetNuke.Common.Utilities;
//
// DotNetNuke - http://www.dotnetnuke.com
// Copyright (c) 2002-2005
// by Shaun Walker ( sales@perpetualmotion.ca ) of Perpetual Motion Interactive Systems Inc. ( http://www.perpetualmotion.ca )
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
// documentation files (the "Software"), to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
// to permit persons to whom the Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions
// of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
namespace DotNetNuke.Services.Scheduling
{
public class ScheduleHistoryItem : ScheduleItem
{
private int scheduleHistoryID;
private DateTime startDate;
private DateTime endDate;
private bool succeeded;
private StringBuilder logNotes;
private string server;
public ScheduleHistoryItem()
{
this.scheduleHistoryID = Null.NullInteger;
this.startDate = Null.NullDate;
this.endDate = Null.NullDate;
this.succeeded = Null.NullBoolean;
this.logNotes = new StringBuilder();
this.server = Null.NullString;
}
public ScheduleHistoryItem(ScheduleItem scheduleItem): this()
{
this.AttachToEvent = scheduleItem.AttachToEvent;
this.CatchUpEnabled = scheduleItem.CatchUpEnabled;
this.Enabled = scheduleItem.Enabled;
this.NextStart = scheduleItem.NextStart;
this.ObjectDependencies = scheduleItem.ObjectDependencies;
this.ProcessGroup = scheduleItem.ProcessGroup;
this.RetainHistoryNum = scheduleItem.RetainHistoryNum;
this.RetryTimeLapse = scheduleItem.RetryTimeLapse;
this.RetryTimeLapseMeasurement = scheduleItem.RetryTimeLapseMeasurement;
this.ScheduleID = scheduleItem.ScheduleID;
this.ScheduleSource = scheduleItem.ScheduleSource;
this.ThreadID = scheduleItem.ThreadID;
this.TimeLapse = scheduleItem.TimeLapse;
this.TimeLapseMeasurement = scheduleItem.TimeLapseMeasurement;
this.TypeFullName = scheduleItem.TypeFullName;
}
public int ScheduleHistoryID
{
get { return this.scheduleHistoryID; }
set { this.scheduleHistoryID = value; }
}
public DateTime StartDate
{
get { return this.startDate; }
set { this.startDate = value; }
}
public bool Overdue
{
get { return (NextStart < DateTime.Now && EndDate == Null.NullDate); }
}
public double OverdueBy
{
get { return Overdue ? DateTime.Now.Subtract(NextStart).TotalSeconds : 0; }
}
public double RemainingTime
{
get { return (NextStart > DateTime.Now && EndDate == Null.NullDate) ? NextStart.Subtract(DateTime.Now).TotalSeconds : 0; }
}
public DateTime EndDate
{
get { return this.endDate; }
set { this.endDate = value; }
}
public double ElapsedTime
{
get
{
if (endDate == Null.NullDate && startDate != Null.NullDate)
{
return DateTime.Now.Subtract(startDate).TotalSeconds;
}
else if (startDate != Null.NullDate)
{
return endDate.Subtract(startDate).TotalSeconds;
}
else
{
return 0;
}
}
}
public bool Succeeded
{
get { return this.succeeded; }
set { this.succeeded = value; }
}
public string LogNotes
{
get { return this.logNotes.ToString(); }
set { this.logNotes = new StringBuilder(value); }
}
public string Server
{
get { return this.server; }
set { this.server = value; }
}
public void AddLogNote (string note)
{
this.logNotes.Append(note + "\n");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -