Add priority
This commit is contained in:
+42
-39
@@ -8,17 +8,53 @@ using System.Linq;
|
||||
|
||||
namespace LeafWeb.Core.Entities
|
||||
{
|
||||
public abstract class LeafInputBase
|
||||
public class LeafInput
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
public virtual ICollection<LeafInputFile> InputFiles { get; set; }
|
||||
public virtual ICollection<LeafInputData> LeafInputData { get; set; }
|
||||
public virtual ICollection<LeafOutputFile> OutputFiles { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "Name required")]
|
||||
public string Name { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "An email address is required")]
|
||||
public string Email { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "A unique identifier is required")]
|
||||
public string Identifier { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "Site Id required")]
|
||||
public string SiteId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column(TypeName = "VARCHAR")]
|
||||
[StringLength(12)]
|
||||
[Index("IX_UniqueToken", 1, IsUnique = true)]
|
||||
public string UniqueToken { get; set; }
|
||||
|
||||
// [Required(ErrorMessage = "PhotosynthesisType required")]
|
||||
// http://stackoverflow.com/questions/6038541/ef-validation-failing-on-update-when-using-lazy-loaded-required-properties
|
||||
public virtual PhotosynthesisType PhotosynthesisType { get; set; }
|
||||
|
||||
[DataType(DataType.Date)]
|
||||
[Required]
|
||||
public DateTime Added { get; set; }
|
||||
|
||||
public LeafInputStatusType CurrentStatus { get; set; }
|
||||
|
||||
public virtual ICollection<LeafInputStatus> StatusHistory { get; set; }
|
||||
|
||||
public Priority PendingPriority { get; set; }
|
||||
|
||||
#region Calculated properties
|
||||
|
||||
public LeafOutputFile OutputErrorMessage => OutputFiles?.FirstOrDefault(f => f.IsErrorMessage);
|
||||
public LeafOutputFile OutputWarningMessage => OutputFiles?.FirstOrDefault(f => f.IsWarningMessage);
|
||||
public bool HasOutputFiles => OutputFiles.Any();
|
||||
public bool HasLeafChart => OutputFiles.Any(f => f.IsLeafChartFile);
|
||||
|
||||
public LeafInputStatusType CurrentStatus { get; set; }
|
||||
public virtual ICollection<LeafInputStatus> StatusHistory { get; set; }
|
||||
|
||||
public bool IsPending => CurrentStatus == LeafInputStatusType.Pending;
|
||||
public bool IsStarting => CurrentStatus == LeafInputStatusType.Starting;
|
||||
public bool IsRunning => CurrentStatus == LeafInputStatusType.Running;
|
||||
@@ -42,7 +78,6 @@ namespace LeafWeb.Core.Entities
|
||||
public bool IsDeletable => !IsInProgress;
|
||||
public bool IsAtEndState => IsComplete || IsException || IsCancelled;
|
||||
|
||||
|
||||
public DateTime? StartTime
|
||||
{
|
||||
get
|
||||
@@ -71,7 +106,7 @@ namespace LeafWeb.Core.Entities
|
||||
}
|
||||
}
|
||||
|
||||
public TimeSpan TotalInProgressTime
|
||||
public TimeSpan TimeInProgress
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -90,40 +125,8 @@ namespace LeafWeb.Core.Entities
|
||||
return end.Value - start.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class LeafInput : LeafInputBase
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
public virtual ICollection<LeafInputFile> InputFiles { get; set; }
|
||||
public virtual ICollection<LeafInputData> LeafInputData { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "Name required")]
|
||||
public string Name { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "An email address is required")]
|
||||
public string Email { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "A unique identifier is required")]
|
||||
public string Identifier { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "Site Id required")]
|
||||
public string SiteId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column(TypeName = "VARCHAR")]
|
||||
[StringLength(12)]
|
||||
[Index("IX_UniqueToken", 1, IsUnique = true)]
|
||||
public string UniqueToken { get; set; }
|
||||
|
||||
// [Required(ErrorMessage = "PhotosynthesisType required")]
|
||||
// http://stackoverflow.com/questions/6038541/ef-validation-failing-on-update-when-using-lazy-loaded-required-properties
|
||||
public virtual PhotosynthesisType PhotosynthesisType { get; set; }
|
||||
|
||||
[DataType(DataType.Date)]
|
||||
[Required]
|
||||
public DateTime Added { get; set; }
|
||||
#endregion
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace LeafWeb.Core.Entities
|
||||
{
|
||||
public enum Priority
|
||||
{
|
||||
Normal = 0,
|
||||
Low = -1,
|
||||
High = 1
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user