using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Runtime.Serialization; using CMS_CORE_Library.Models; using Newtonsoft.Json; namespace Step.Model.DatabaseModels { [Table("shank")] public class DbNcShankModel { [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] [Column("id")] public short ShankId { get; set; } [Column("balluf")] public int? Balluf { get; set; } [Column("magazine_position_type")] public byte MagazinePositionType { get; set; } [ForeignKey("MagazinePosition"), Column("magazine_id", Order = 0)] public byte? MagazineId { get; set; } [ForeignKey("MagazinePosition"), Column("position_id", Order = 1)] public int? PositionId { get; set; } [Column("origin_magazine_id")] public byte? OriginMagazineId { get; set; } [Column("origin_position_id")] public int? OriginPositionId { get; set; } [JsonIgnore] [IgnoreDataMember] public DbNcMagazinePositionModel MagazinePosition { get; set; } [JsonIgnore] [IgnoreDataMember] public List Tools { get; set; } public static explicit operator NcShankModel(DbNcShankModel obj) { return new NcShankModel() { ShankId = (ushort)obj.ShankId, Balluf = obj.Balluf == null ? (ushort)0 : (ushort)obj.Balluf.Value, MagazineId = obj.MagazineId == null ? (byte)0 : obj.MagazineId.Value, PositionId = obj.PositionId == null ? (ushort)0 : (ushort)obj.PositionId.Value, MagazinePositionType = obj.MagazinePositionType, OriginMagazineId = obj.OriginMagazineId == null ? (byte)0 : obj.OriginMagazineId.Value, OriginPositionId = obj.OriginPositionId == null ? (ushort)0 : (ushort)obj.OriginPositionId.Value, }; } public static explicit operator DbNcShankModel(NcShankModel obj) { return new DbNcShankModel() { ShankId = (short)obj.ShankId, Balluf = obj.Balluf == 0 ? null : (ushort?)obj.Balluf, MagazineId = obj.MagazineId == 0 ? null : (byte?)obj.MagazineId, PositionId = obj.PositionId == 0 ? null : (ushort?)obj.PositionId, MagazinePositionType = obj.MagazinePositionType, OriginMagazineId = obj.OriginMagazineId == 0 ? null : (byte?)obj.OriginMagazineId, OriginPositionId = obj.OriginPositionId == 0 ? null : (ushort?)obj.OriginPositionId, }; } } }