using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Disco.Models.Repository { public class Device { [Required(ErrorMessage="The Serial Number is Required"), Key, StringLength(60)] public string SerialNumber { get; set; } [StringLength(40)] public string AssetNumber { get; set; } [StringLength(250)] public string Location { get; set; } public int? DeviceModelId { get; set; } [Range(1, int.MaxValue, ErrorMessage="A valid Device Profile is Required")] public int DeviceProfileId { get; set; } public int? DeviceBatchId { get; set; } [StringLength(24)] public string ComputerName { get; set; } public string AssignedUserId { get; set; } public DateTime? LastNetworkLogonDate { get; set; } // 2012-06-21 - Removed //[StringLength(24)] //public string CertificateStoreReference { get; set; } public bool AllowUnauthenticatedEnrol { get; set; } // Removed 2013-02-21 G#: Redundant - See DecommissionedDate //public bool Active { get; set; } // End Removed 2013-02-21 public DateTime CreatedDate { get; set; } public DateTime? EnrolledDate { get; set; } public DateTime? LastEnrolDate { get; set; } public DateTime? DecommissionedDate { get; set; } [ForeignKey("DeviceModelId")] public virtual DeviceModel DeviceModel { get; set; } [ForeignKey("DeviceProfileId")] public virtual DeviceProfile DeviceProfile { get; set; } [ForeignKey("DeviceBatchId")] public virtual DeviceBatch DeviceBatch { get; set; } [ForeignKey("AssignedUserId")] public virtual User AssignedUser { get; set; } public virtual IList DeviceUserAssignments { get; set; } public virtual IList DeviceDetails { get; set; } public virtual IList DeviceAttachments { get; set; } [InverseProperty("DeviceSerialNumber")] public virtual IList Jobs { get; set; } public override string ToString() { if (DeviceModel != null) return string.Format("{0} - {1}", this.DeviceModel, this.SerialNumber); else return this.SerialNumber; } } }