♻️ Use inheritance, use properties for FK

to prepare for many-to-many with TurnEntity
pull/191/head
Alexis Drai 2 years ago
parent c7aac52f48
commit 7fd6078c25

@ -1,16 +1,9 @@
using Data.EF.Dice.Faces;
using Model.Dice.Faces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Data.EF.Dice
{
public class ColorDieEntity
public class ColorDieEntity : DieEntity
{
public Guid Id { get; set; }
public ICollection<ColorFaceEntity> Faces { get; set; }
public new ICollection<ColorFaceEntity> Faces { get; set; }
}
}

@ -0,0 +1,19 @@
using Data.EF.Dice.Faces;
using Data.EF.Games;
using Data.EF.Joins;
using System.ComponentModel.DataAnnotations.Schema;
namespace Data.EF.Dice
{
/// <summary>
/// not designed to be instantiated, but not abstract in order to allow extensions
/// </summary>
///
public class DieEntity
{
public Guid ID { get; set; }
public ICollection<TurnEntity> Turns { get; set; } // many to many
public List<DieTurn> DieTurns { get; set; }
public ICollection<FaceEntity> Faces { get; set; } // one to many
}
}

@ -1,20 +1,15 @@
using Model.Dice;
using System;
using System.ComponentModel.DataAnnotations.Schema;
using System.Drawing;
using System.Drawing;
namespace Data.EF.Dice.Faces
{
public class ColorFaceEntity
public class ColorFaceEntity : FaceEntity
{
public Guid ID { get; set; }
public byte A { get; set; }
public byte R { get; set; }
public byte G { get; set; }
public byte B { get; set; }
[ForeignKey("ColorDieFK")]
public Guid ColorDieEntityID { get; set; }
public ColorDieEntity ColorDieEntity { get; set; }
public void SetValue(Color c)

@ -0,0 +1,15 @@
using Data.EF.Games;
using Data.EF.Joins;
namespace Data.EF.Dice.Faces
{
/// <summary>
/// not designed to be instantiated, but not abstract in order to allow extensions
/// </summary>
public class FaceEntity
{
public Guid ID { get; set; }
public ICollection<TurnEntity> Turns { get; set; } // many to many
public List<FaceTurn> FaceTurns { get; set; }
}
}

@ -1,19 +1,9 @@
using Model.Dice;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Data.EF.Dice.Faces
namespace Data.EF.Dice.Faces
{
public class ImageFaceEntity
public class ImageFaceEntity : FaceEntity
{
public Guid ID { get; set; }
public string Value { get; set; }
[ForeignKey("ImgDieFK")]
public Guid ImageDieEntityID { get; set; }
public ImageDieEntity ImageDieEntity { get; set; }
}
}

@ -1,19 +1,9 @@
using Model.Dice;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Data.EF.Dice.Faces
namespace Data.EF.Dice.Faces
{
public class NumberFaceEntity
public class NumberFaceEntity : FaceEntity
{
public Guid Id { get; set; }
public int Value { get; set; }
[ForeignKey("NumDieFK")]
public Guid NumberDieEntityID { get; set; }
public NumberDieEntity NumberDieEntity { get; set; }
}
}

@ -1,16 +1,9 @@
using Data.EF.Dice.Faces;
using Model.Dice.Faces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Data.EF.Dice
{
public class ImageDieEntity
public class ImageDieEntity : DieEntity
{
public Guid Id { get; set; }
public ICollection<ImageFaceEntity> Faces { get; set; }
public new ICollection<ImageFaceEntity> Faces { get; set; }
}
}

@ -1,16 +1,9 @@
using Data.EF.Dice.Faces;
using Model.Dice.Faces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Data.EF.Dice
{
public class NumberDieEntity
public class NumberDieEntity : DieEntity
{
public Guid Id { get; set; }
public ICollection<NumberFaceEntity> Faces { get; set; }
public new ICollection<NumberFaceEntity> Faces { get; set; }
}
}

Loading…
Cancel
Save