using CMS_CORE_Library.Models; using Newtonsoft.Json; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Runtime.Serialization; namespace Step.Model.DatabaseModels { [Table("tool")] public class DbNcToolModel { [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] [Column("id")] public short ToolId { get; set; } [Column("offset_length")] public short 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 short FamilyId { get; set; } [Column("shank_id")] [DatabaseGenerated(DatabaseGeneratedOption.None)] [ForeignKey("Shank")] public short? ShankId { get; set; } [Column("offsetId1")] public short? OffsetId1 { get; set; } [Column("offsetId2")] public short? OffsetId2 { get; set; } [Column("offsetId3")] public short? OffsetId3 { get; set; } [JsonIgnore] [IgnoreDataMember] public virtual DbNcFamilyModel Family { get; set; } [JsonIgnore] [IgnoreDataMember] public virtual DbNcShankModel Shank { get; set; } public static explicit operator NcToolModel(DbNcToolModel obj) { return new NcToolModel() { ToolId = obj.ToolId, FamilyId = obj.FamilyId, OffsetLength = obj.OffsetLength, ResidualLife = (ushort)obj.ResidualLife, Status = obj.Status, ResidualRevive = (ushort)obj.ResidualRevive, ShankId = (short)(obj.ShankId == null ? 0 : obj.ShankId.Value), OffsetId1 = (ushort)(obj.OffsetId1 == null ? 0 : obj.OffsetId1.Value), OffsetId2 = (ushort)(obj.OffsetId2 == null ? 0 : obj.OffsetId2.Value), OffsetId3 = (ushort)(obj.OffsetId3 == null ? 0 : obj.OffsetId3.Value) }; } public static explicit operator DbNcToolModel(NcToolModel obj) { return new DbNcToolModel() { ToolId = obj.ToolId, FamilyId = obj.FamilyId, OffsetLength = obj.OffsetLength, ResidualLife = (ushort)obj.ResidualLife, Status = obj.Status, ResidualRevive = (ushort)obj.ResidualRevive, ShankId = obj.ShankId == 0 ? null : (short?)obj.ShankId, OffsetId1 = obj.OffsetId1 == 0 ? null : (short?)obj.OffsetId1, OffsetId2 = obj.OffsetId2 == 0 ? null : (short?)obj.OffsetId2, OffsetId3 = obj.OffsetId3 == 0 ? null : (short?)obj.OffsetId3 }; } } }