39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using LCU.Library.Internal.DispatcherModels.Enums;
|
|
using LCU.Library.Internal.DispatcherModels.Models;
|
|
namespace LCU.Library.Internal.DispatcherModels.Entities;
|
|
|
|
public class WorkItemExecution : Errorable
|
|
{
|
|
public WorkItemExecution()
|
|
{
|
|
|
|
}
|
|
|
|
public WorkItemExecution(int workItemId)
|
|
{
|
|
WorkItemId = workItemId;
|
|
Status = StatusType.Processing;
|
|
StartedTimestamp = DateTime.Now;
|
|
}
|
|
|
|
public int WorkItemExecutionId { get; set; }
|
|
[Required]
|
|
public int WorkItemId { get; set; }
|
|
[Required]
|
|
public StatusType Status { get; set; }
|
|
public DateTime? StartedTimestamp { get; set; }
|
|
public DateTime? CompletedTimestamp { get; set; }
|
|
[ForeignKey("WorkItemExecutionId")]
|
|
public ICollection<ExecutionMessage> ExecutionMessages { get; set; }
|
|
|
|
public static WorkItemExecution SetAsFinal(WorkItemExecution workItemExecution, StatusType finalStatus)
|
|
{
|
|
workItemExecution.Status = finalStatus;
|
|
workItemExecution.CompletedTimestamp = DateTime.Now;
|
|
return workItemExecution;
|
|
}
|
|
} |