Entité du sujet 3 avec connections et cardinalités
This commit is contained in:
24
PyroFetes/Models/Show.cs
Normal file
24
PyroFetes/Models/Show.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace PyroFetes.Models;
|
||||
|
||||
public class Show
|
||||
{
|
||||
[Key] public int Id { get; set; }
|
||||
|
||||
[MaxLength(120)]
|
||||
public string? Place { get; set; }
|
||||
|
||||
[MaxLength(500)]
|
||||
public string? Description { get; set; }
|
||||
|
||||
// Lien (chemin/URL/nom de fichier) vers le plan d’implémentation pyrotechnique
|
||||
[MaxLength(500)]
|
||||
public string? PyrotechnicImplementationPlan { get; set; }
|
||||
|
||||
public DateTime? Date { get; set; }
|
||||
|
||||
public ICollection<Staff> Staff { get; set; } = new List<Staff>();
|
||||
public ICollection<Truck> Trucks { get; set; } = new List<Truck>();
|
||||
public ICollection<SoundTimecode> SoundCues { get; set; } = new List<SoundTimecode>();
|
||||
}
|
34
PyroFetes/Models/Sound.cs
Normal file
34
PyroFetes/Models/Sound.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace PyroFetes.Models;
|
||||
|
||||
public class Sound
|
||||
{
|
||||
[Key] public int Id { get; set; }
|
||||
|
||||
[Required, MaxLength(120)]
|
||||
public string Name { get; set; } = null!;
|
||||
|
||||
[MaxLength(60)]
|
||||
public string? Type { get; set; }
|
||||
|
||||
[MaxLength(120)]
|
||||
public string? Artist { get; set; }
|
||||
|
||||
[Range(0, int.MaxValue)]
|
||||
public int? Duration { get; set; }
|
||||
|
||||
[MaxLength(40)]
|
||||
public string? Kind { get; set; }
|
||||
|
||||
[MaxLength(40)]
|
||||
public string? Format { get; set; }
|
||||
|
||||
public DateTime? CreationDate { get; set; }
|
||||
|
||||
[Required]
|
||||
public int SoundCategoryId { get; set; }
|
||||
public SoundCategory? Category { get; set; }
|
||||
|
||||
public ICollection<SoundTimecode> ShowPlacements { get; set; } = new List<SoundTimecode>();
|
||||
}
|
13
PyroFetes/Models/SoundCategory.cs
Normal file
13
PyroFetes/Models/SoundCategory.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace PyroFetes.Models;
|
||||
|
||||
public class SoundCategory
|
||||
{
|
||||
[Key] public int Id { get; set; }
|
||||
|
||||
[Required, MaxLength(60)]
|
||||
public string Name { get; set; } = null!;
|
||||
|
||||
public ICollection<Sound> Sounds { get; set; } = new List<Sound>();
|
||||
}
|
22
PyroFetes/Models/SoundTimecode.cs
Normal file
22
PyroFetes/Models/SoundTimecode.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace PyroFetes.Models;
|
||||
|
||||
public class SoundTimecode
|
||||
{
|
||||
[Key] public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
public int ShowId { get; set; }
|
||||
public Show? Show { get; set; }
|
||||
|
||||
[Required]
|
||||
public int SoundId { get; set; }
|
||||
public Sound? Sound { get; set; }
|
||||
|
||||
[Required, Range(0, int.MaxValue)]
|
||||
public int Start { get; set; }
|
||||
|
||||
[Required, Range(0, int.MaxValue)]
|
||||
public int End { get; set; }
|
||||
}
|
22
PyroFetes/Models/Staff.cs
Normal file
22
PyroFetes/Models/Staff.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace PyroFetes.Models;
|
||||
|
||||
public class Staff
|
||||
{
|
||||
[Key] public int Id { get; set; }
|
||||
|
||||
[Required, MaxLength(60)]
|
||||
public string FirstName { get; set; } = null!;
|
||||
|
||||
[Required, MaxLength(60)]
|
||||
public string LastName { get; set; } = null!;
|
||||
|
||||
[MaxLength(100)]
|
||||
public string? Profession { get; set; }
|
||||
|
||||
[EmailAddress, MaxLength(120)]
|
||||
public string? Email { get; set; }
|
||||
|
||||
public ICollection<Show> Shows { get; set; } = new List<Show>();
|
||||
}
|
24
PyroFetes/Models/Truck.cs
Normal file
24
PyroFetes/Models/Truck.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace PyroFetes.Models;
|
||||
|
||||
public class Truck
|
||||
{
|
||||
[Key] public int Id { get; set; }
|
||||
|
||||
[Required, MaxLength(40)]
|
||||
public string Type { get; set; } = null!;
|
||||
|
||||
[Range(0, double.MaxValue)]
|
||||
public double? MaxExplosiveCapacity { get; set; }
|
||||
|
||||
[MaxLength(80)]
|
||||
public string? Sizes { get; set; }
|
||||
|
||||
[MaxLength(40)]
|
||||
public string? Statut { get; set; }
|
||||
|
||||
[Required]
|
||||
public int ShowId { get; set; }
|
||||
public Show? Show { get; set; }
|
||||
}
|
Reference in New Issue
Block a user