Files
2020-09-12 16:11:43 +02:00

91 lines
3.0 KiB
C#

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
};
}
}
}