fixed WebPortal & update sql
This commit is contained in:
parent
e7d5bf0c7e
commit
8577c73c4c
5 changed files with 410 additions and 10 deletions
|
@ -859,3 +859,404 @@ INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
|||
WHERE (U.UserID = @ActorID OR U.OwnerID = @ActorID)
|
||||
AND (ISNULL(S.LastRun, DATEADD(YEAR, -1, GETDATE())) > ISNULL(S.LastFinish, DATEADD(YEAR, -1, GETDATE())))
|
||||
GO
|
||||
|
||||
CREATE TABLE BackgroundTasks
|
||||
(
|
||||
ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
|
||||
TaskID NVARCHAR(255),
|
||||
ScheduleID INT NOT NULL,
|
||||
PackageID INT NOT NULL,
|
||||
UserID INT NOT NULL,
|
||||
EffectiveUserID INT NOT NULL,
|
||||
TaskName NVARCHAR(255),
|
||||
ItemID INT,
|
||||
ItemName NVARCHAR(255),
|
||||
StartDate DATETIME NOT NULL,
|
||||
FinishDate DATETIME,
|
||||
IndicatorCurrent INT NOT NULL,
|
||||
IndicatorMaximum INT NOT NULL,
|
||||
MaximumExecutionTime INT NOT NULL,
|
||||
Source NVARCHAR(MAX),
|
||||
Severity INT NOT NULL,
|
||||
Completed BIT,
|
||||
NotifyOnComplete BIT,
|
||||
Status INT NOT NULL,
|
||||
FOREIGN KEY (ScheduleID) REFERENCES Schedule (ScheduleID),
|
||||
FOREIGN KEY (PackageID) REFERENCES Packages (PackageID)
|
||||
)
|
||||
GO
|
||||
|
||||
CREATE TABLE BackgroundTaskParameters
|
||||
(
|
||||
ParameterID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
|
||||
TaskID INT NOT NULL,
|
||||
Name NVARCHAR(255),
|
||||
SerializerValue NTEXT,
|
||||
FOREIGN KEY (TaskID) REFERENCES BackgroundTasks (ID)
|
||||
)
|
||||
GO
|
||||
|
||||
CREATE TABLE BackgroundTaskLogs
|
||||
(
|
||||
LogID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
|
||||
TaskID INT NOT NULL,
|
||||
Date DATETIME,
|
||||
ExceptionStackTrace NTEXT,
|
||||
InnerTaskStart INT,
|
||||
Severity INT,
|
||||
Text NTEXT,
|
||||
TextIdent INT,
|
||||
XmlParameters NTEXT,
|
||||
FOREIGN KEY (TaskID) REFERENCES BackgroundTasks (ID)
|
||||
)
|
||||
GO
|
||||
|
||||
CREATE TABLE BackgroundTaskStack
|
||||
(
|
||||
TaskStackID INT NOT NULL PRIMARY KEY,
|
||||
TaskID INT NOT NULL,
|
||||
Value NVARCHAR(MAX),
|
||||
FOREIGN KEY (TaskID) REFERENCES BackgroundTasks (ID)
|
||||
)
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[AddBackgroundTask]
|
||||
(
|
||||
@BackgroundTaskID INT OUTPUT,
|
||||
@TaskID NVARCHAR(255),
|
||||
@ScheduleID INT,
|
||||
@PackageID INT,
|
||||
@UserID INT,
|
||||
@EffectiveUserID INT,
|
||||
@TaskName NVARCHAR(255),
|
||||
@ItemID INT,
|
||||
@ItemName NVARCHAR(255),
|
||||
@StartDate DATETIME,
|
||||
@IndicatorCurrent INT,
|
||||
@IndicatorMaximum INT,
|
||||
@MaximumExecutionTime INT,
|
||||
@Source NVARCHAR(MAX),
|
||||
@Severity INT,
|
||||
@Completed BIT,
|
||||
@NotifyOnComplete BIT,
|
||||
@Status INT
|
||||
)
|
||||
AS
|
||||
|
||||
INSERT INTO BackgroundTasks
|
||||
(
|
||||
TaskID,
|
||||
ScheduleID,
|
||||
PackageID,
|
||||
UserID,
|
||||
EffectiveUserID,
|
||||
TaskName,
|
||||
ItemID,
|
||||
ItemName,
|
||||
StartDate,
|
||||
IndicatorCurrent,
|
||||
IndicatorMaximum,
|
||||
MaximumExecutionTime,
|
||||
Source,
|
||||
Severity,
|
||||
Completed,
|
||||
NotifyOnComplete,
|
||||
Status
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@TaskID,
|
||||
@ScheduleID,
|
||||
@PackageID,
|
||||
@UserID,
|
||||
@EffectiveUserID,
|
||||
@TaskName,
|
||||
@ItemID,
|
||||
@ItemName,
|
||||
@StartDate,
|
||||
@IndicatorCurrent,
|
||||
@IndicatorMaximum,
|
||||
@MaximumExecutionTime,
|
||||
@Source,
|
||||
@Severity,
|
||||
@Completed,
|
||||
@NotifyOnComplete,
|
||||
@Status
|
||||
)
|
||||
|
||||
SET @BackgroundTaskID = SCOPE_IDENTITY()
|
||||
|
||||
RETURN
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[GetBackgroundTask]
|
||||
(
|
||||
@ActorID INT,
|
||||
@TaskID NVARCHAR(255)
|
||||
)
|
||||
AS
|
||||
|
||||
SELECT TOP 1
|
||||
T.ID,
|
||||
T.TaskID,
|
||||
T.ScheduleID,
|
||||
T.PackageID,
|
||||
T.UserID,
|
||||
T.EffectiveUserID,
|
||||
T.TaskName,
|
||||
T.ItemID,
|
||||
T.ItemName,
|
||||
T.StartDate,
|
||||
T.FinishDate,
|
||||
T.IndicatorCurrent,
|
||||
T.IndicatorMaximum,
|
||||
T.MaximumExecutionTime,
|
||||
T.Source,
|
||||
T.Severity,
|
||||
T.Completed,
|
||||
T.NotifyOnComplete,
|
||||
T.Status
|
||||
FROM BackgroundTasks AS T
|
||||
INNER JOIN BackgroundTaskStack AS TS
|
||||
ON TS.TaskId = T.ID
|
||||
WHERE T.TaskID = @TaskID AND T.UserID = @ActorID
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[GetBackgroundTasks]
|
||||
(
|
||||
@ActorID INT
|
||||
)
|
||||
AS
|
||||
|
||||
SELECT
|
||||
T.ID,
|
||||
T.TaskID,
|
||||
T.ScheduleId,
|
||||
T.PackageId,
|
||||
T.UserId,
|
||||
T.EffectiveUserId,
|
||||
T.TaskName,
|
||||
T.ItemId,
|
||||
T.ItemName,
|
||||
T.StartDate,
|
||||
T.FinishDate,
|
||||
T.IndicatorCurrent,
|
||||
T.IndicatorMaximum,
|
||||
T.MaximumExecutionTime,
|
||||
T.Source,
|
||||
T.Severity,
|
||||
T.Completed,
|
||||
T.NotifyOnComplete,
|
||||
T.Status
|
||||
FROM BackgroundTasks AS T
|
||||
INNER JOIN BackgroundTaskStack AS TS
|
||||
ON TS.TaskId = T.ID
|
||||
WHERE T.UserID = @ActorID
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[GetBackgroundTopTask]
|
||||
(
|
||||
@ActorID INT
|
||||
)
|
||||
AS
|
||||
|
||||
SELECT TOP 1
|
||||
T.ID,
|
||||
T.TaskID,
|
||||
T.ScheduleId,
|
||||
T.PackageId,
|
||||
T.UserId,
|
||||
T.EffectiveUserId,
|
||||
T.TaskName,
|
||||
T.ItemId,
|
||||
T.ItemName,
|
||||
T.StartDate,
|
||||
T.FinishDate,
|
||||
T.IndicatorCurrent,
|
||||
T.IndicatorMaximum,
|
||||
T.MaximumExecutionTime,
|
||||
T.Source,
|
||||
T.Severity,
|
||||
T.Completed,
|
||||
T.NotifyOnComplete,
|
||||
T.Status
|
||||
FROM BackgroundTasks AS T
|
||||
INNER JOIN BackgroundTaskStack AS TS
|
||||
ON TS.TaskId = T.ID
|
||||
WHERE T.UserID = @ActorID
|
||||
ORDER BY T.StartDate DESC
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[AddBackgroundTaskLog]
|
||||
(
|
||||
@TaskID INT,
|
||||
@Date DATETIME,
|
||||
@ExceptionStackTrace NTEXT,
|
||||
@InnerTaskStart INT,
|
||||
@Severity INT,
|
||||
@Text NTEXT,
|
||||
@TextIdent INT,
|
||||
@XmlParameters NTEXT
|
||||
)
|
||||
AS
|
||||
|
||||
INSERT INTO BackgroundTaskLogs
|
||||
(
|
||||
TaskID,
|
||||
Date,
|
||||
ExceptionStackTrace,
|
||||
InnerTaskStart,
|
||||
Severity,
|
||||
Text,
|
||||
TextIdent,
|
||||
XmlParameters
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@TaskID,
|
||||
@Date,
|
||||
@ExceptionStackTrace,
|
||||
@InnerTaskStart,
|
||||
@Severity,
|
||||
@Text,
|
||||
@TextIdent,
|
||||
@XmlParameters
|
||||
)
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[GetBackgroundTaskLogs]
|
||||
(
|
||||
@TaskID INT,
|
||||
@StartLogTime DATETIME
|
||||
)
|
||||
AS
|
||||
|
||||
SELECT
|
||||
L.LogID,
|
||||
L.TaskID,
|
||||
L.Date,
|
||||
L.ExceptionStackTrace,
|
||||
L.InnerTaskStart,
|
||||
L.Severity,
|
||||
L.Text,
|
||||
L.XmlParameters
|
||||
FROM BackgroundTaskLogs AS L
|
||||
WHERE L.TaskID = @TaskID AND L.Date >= @StartLogTime
|
||||
ORDER BY L.Date
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[UpdateBackgroundTask]
|
||||
(
|
||||
@TaskID INT,
|
||||
@ScheduleID INT,
|
||||
@PackageID INT,
|
||||
@UserID INT,
|
||||
@EffectiveUserID INT,
|
||||
@TaskName NVARCHAR(255),
|
||||
@ItemID INT,
|
||||
@ItemName NVARCHAR(255),
|
||||
@FinishDate DATETIME,
|
||||
@IndicatorCurrent INT,
|
||||
@IndicatorMaximum INT,
|
||||
@MaximumExecutionTime INT,
|
||||
@Source NVARCHAR(MAX),
|
||||
@Severity INT,
|
||||
@Completed BIT,
|
||||
@NotifyOnComplete BIT,
|
||||
@Status INT
|
||||
)
|
||||
AS
|
||||
|
||||
UPDATE BackgroundTask
|
||||
SET
|
||||
ScheduleID = @ScheduleID,
|
||||
PackageID = @PackageID,
|
||||
UserID = @UserID,
|
||||
EffectiveUserID = @EffectiveUserID,
|
||||
TaskName = @TaskName,
|
||||
ItemID = @ItemID,
|
||||
ItemName = @ItemName,
|
||||
FinishDate = @FinishDate,
|
||||
IndicatorCurrent = @IndicatorCurrent,
|
||||
IndicatorMaximum = @IndicatorMaximum,
|
||||
MaximumExecutionTime = @MaximumExecutionTime,
|
||||
Source = @Source,
|
||||
Severity = @Severity,
|
||||
Completed = @Completed,
|
||||
NotifyOnComplete = @NotifyOnComplete,
|
||||
Status = @Status
|
||||
WHERE ID = @TaskID
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[GetBackgroundTaskParams]
|
||||
(
|
||||
@TaskID INT
|
||||
)
|
||||
AS
|
||||
|
||||
SELECT
|
||||
P.ParameterID,
|
||||
P.TaskID,
|
||||
P.Name,
|
||||
P.SerializerValue
|
||||
FROM BackgroundTaskParameters AS P
|
||||
WHERE P.TaskID = @TaskID
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[AddBackgroundTaskParam]
|
||||
(
|
||||
@TaskID INT,
|
||||
@Name NVARCHAR(255),
|
||||
@Value NTEXT
|
||||
)
|
||||
AS
|
||||
|
||||
INSERT INTO BackgroundTaskParameters
|
||||
(
|
||||
TaskID,
|
||||
Name,
|
||||
SerializerValue
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@TaskID,
|
||||
@Name,
|
||||
@Value
|
||||
)
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[DeleteBackgroundTaskParams]
|
||||
(
|
||||
@TaskID INT
|
||||
)
|
||||
AS
|
||||
|
||||
DELETE FROM BackgroundTaskParameters
|
||||
WHERE TaskID = @TaskID
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[AddBackgroundTaskStack]
|
||||
(
|
||||
@TaskID INT
|
||||
)
|
||||
AS
|
||||
|
||||
INSERT INTO BackgroundTaskStack
|
||||
(
|
||||
TaskID
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@TaskID
|
||||
)
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[DeleteBackgroundTaskStack]
|
||||
(
|
||||
@TaskID INT
|
||||
)
|
||||
AS
|
||||
|
||||
DELETE FROM BackgroundTaskStack
|
||||
WHERE TaskID = @TaskID
|
||||
GO
|
|
@ -1921,7 +1921,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
{
|
||||
SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure,
|
||||
ObjectQualifier + "UpdateBackgroundTask",
|
||||
new SqlParameter("@taskId", scheduleId),
|
||||
new SqlParameter("@taskId", taskId),
|
||||
new SqlParameter("@scheduleId", scheduleId),
|
||||
new SqlParameter("@packageId", packageId),
|
||||
new SqlParameter("@taskName", taskName),
|
||||
|
|
|
@ -63,7 +63,7 @@ namespace WebsitePanel.Portal
|
|||
litTitle.Text = String.Format("{0} "{1}"",
|
||||
GetAuditLogTaskName(task.Source, task.TaskName),
|
||||
task.ItemName);
|
||||
litStep.Text = LocalizeActivityText(task.LastLogRecord.Text);
|
||||
litStep.Text = LocalizeActivityText(task.Logs.Count > 0 ? task.Logs[0].Text : String.Empty);
|
||||
litStartTime.Text = task.StartDate.ToString();
|
||||
|
||||
// progress
|
||||
|
@ -77,11 +77,10 @@ namespace WebsitePanel.Portal
|
|||
|
||||
// execution log
|
||||
StringBuilder log = new StringBuilder();
|
||||
task.LastLogRecords.Reverse();
|
||||
if (task.LastLogRecords.Count > 0)
|
||||
ViewState["lastLogDate"] = task.LastLogRecords[0].Date.AddTicks(1);
|
||||
if (task.Logs.Count > 0)
|
||||
ViewState["lastLogDate"] = task.Logs[0].Date.AddTicks(1);
|
||||
|
||||
foreach (BackgroundTaskLogRecord logRecord in task.LastLogRecords)
|
||||
foreach (BackgroundTaskLogRecord logRecord in task.Logs)
|
||||
{
|
||||
log.Append("[").Append(GetDurationText(task.StartDate, logRecord.Date)).Append("] ");
|
||||
log.Append(GetLogLineIdent(logRecord.TextIdent));
|
||||
|
|
|
@ -176,7 +176,7 @@ namespace WebsitePanel.Portal.VPS.UserControls
|
|||
litElapsed.Text = new TimeSpan(d.Hours, d.Minutes, d.Seconds).ToString();
|
||||
|
||||
// bind records
|
||||
repRecords.DataSource = task.LastLogRecords;
|
||||
repRecords.DataSource = task.Logs;
|
||||
repRecords.DataBind();
|
||||
}
|
||||
|
||||
|
@ -213,7 +213,7 @@ namespace WebsitePanel.Portal.VPS.UserControls
|
|||
|
||||
// gauge
|
||||
gauge.Visible = false;
|
||||
if (e.Item.ItemIndex == task.LastLogRecords.Count - 1)
|
||||
if (e.Item.ItemIndex == task.Logs.Count - 1)
|
||||
{
|
||||
gauge.Visible = true;
|
||||
gauge.Total = task.IndicatorMaximum;
|
||||
|
|
|
@ -183,7 +183,7 @@ namespace WebsitePanel.Portal.VPSForPC.UserControls
|
|||
litElapsed.Text = new TimeSpan(d.Hours, d.Minutes, d.Seconds).ToString();
|
||||
|
||||
// bind records
|
||||
repRecords.DataSource = task.LastLogRecords;
|
||||
repRecords.DataSource = task.Logs;
|
||||
repRecords.DataBind();
|
||||
}
|
||||
|
||||
|
@ -228,7 +228,7 @@ namespace WebsitePanel.Portal.VPSForPC.UserControls
|
|||
|
||||
// gauge
|
||||
gauge.Visible = false;
|
||||
if (e.Item.ItemIndex == task.LastLogRecords.Count - 1)
|
||||
if (e.Item.ItemIndex == task.Logs.Count - 1)
|
||||
{
|
||||
gauge.Visible = true;
|
||||
gauge.Total = task.IndicatorMaximum;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue