using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using static CMS_CORE_Library.DataStructures; namespace Step.Model.DatabaseModels { [Table("tool")] public class DbNcToolModel { [Key] [Column("id")] public int ToolId { get; set; } [Column("offset_length")] public int OffsetLength { get; set; } [Column("residual_life")] public int ResidualLife { get; set; } [Column("residual_revive")] public int ResidualRevive { get; set; } [Column("status")] public byte Status { get; set; } // Foreign keys [Column("family_id")] [ForeignKey("Family")] public int FamilyId { get; set; } [Column("shank_id")] [DatabaseGenerated(DatabaseGeneratedOption.None)] [ForeignKey("Shank")] public int? ShankId { get; set; } [Column("offsetId1")] public int? OffsetId1 { get; set; } [Column("offsetId2")] public int? OffsetId2 { get; set; } [Column("offsetId3")] public int? OffsetId3 { get; set; } public virtual DbNcFamilyModel Family { get; set; } public virtual DbNcShankModel Shank { get; set; } public static explicit operator NcToolModel(DbNcToolModel obj) { return new NcToolModel() { Id = (ushort)obj.ToolId, FamilyId = obj.FamilyId, OffsetLength = (ushort)obj.OffsetLength, ResidualLife = (ushort)obj.ResidualLife, Status = obj.Status, ResidualRevive = (ushort)obj.ResidualRevive, ShankId = obj.ShankId == null ? 0 : obj.ShankId.Value, OffsetId1 = obj.OffsetId1 == null ? 0 : obj.OffsetId1.Value, OffsetId2 = obj.OffsetId2 == null ? 0 : obj.OffsetId2.Value, OffsetId3 = obj.OffsetId3 == null ? 0 : obj.OffsetId3.Value }; } } }