using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using LeafWeb.Core.Utility; namespace LeafWeb.Core.Entities { public class LeafInput { public int Id { get; set; } public virtual ICollection LeafInputFiles { get; set; } public virtual ICollection LeafInputStatuses { 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(ErrorMessage = "PhotosynthesisType required")] public virtual PhotosynthesisType PhotosynthesisType { get; set; } [DataType(DataType.Date)] [Required] public DateTime Created { get; set; } [DataType(DataType.Date)] public DateTime? Processed { get; set; } /// /// An cleaned up identifier to be used for file naming, etc /// public string CombinedIdentifier => $"{Name.FilterAlphaNumeric()}_{Identifier.FilterAlphaNumeric()}"; } }