Files
monorepo/LCU.API.Internal.Dispatcher/LCU.Library.Internal.DispatcherModels/Entities/WorkItemExecution.cs
T
2026-03-24 15:26:03 -05:00

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;
}
}