Merge branch 'feature/Subject3' into develop

This commit is contained in:
2025-10-03 14:54:52 +01:00
6 changed files with 89 additions and 0 deletions

20
PyroFetes/Models/Show.cs Normal file
View File

@@ -0,0 +1,20 @@
using System.ComponentModel.DataAnnotations;
namespace PyroFetes.Models;
public class Show
{
[Key] public int Id { get; set; }
[Required] public string? Name { get; set; }
[Required, MaxLength(120)] public string? Place { get; set; }
[MaxLength(500)] public string? Description { get; set; }
// Lien (chemin/URL/nom de fichier) vers le plan dimplémentation pyrotechnique
[Required, MaxLength(500)]
public string? PyrotechnicImplementationPlan { get; set; }
public DateTime? Date { get; set; }
public ICollection<Staff>? Staff { get; set; }
public ICollection<Truck>? Trucks { get; set; }
public ICollection<SoundTimecode>? SoundCues { get; set; }
}

18
PyroFetes/Models/Sound.cs Normal file
View File

@@ -0,0 +1,18 @@
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!;
[Required, MaxLength(60)] public string? Type { get; set; }
[Required, MaxLength(120)] public string? Artist { get; set; }
[Required, Range(0, int.MaxValue)] public int? Duration { get; set; }
[Required, MaxLength(40)] public string? Kind { get; set; }
[Required, 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; }
}

View File

@@ -0,0 +1,10 @@
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; }
}

View File

@@ -0,0 +1,14 @@
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; }
}

13
PyroFetes/Models/Staff.cs Normal file
View File

@@ -0,0 +1,13 @@
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!;
[Required, MaxLength(100)] public string? Profession { get; set; }
[Required, MaxLength(120)] public string? Email { get; set; }
public ICollection<Show>? Shows { get; set; }
}

14
PyroFetes/Models/Truck.cs Normal file
View File

@@ -0,0 +1,14 @@
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; }
[Required, MaxLength(80)] public string? Sizes { get; set; }
[Required, MaxLength(40)] public string? Status { get; set; }
[Required] public int ShowId { get; set; }
public Show? Show { get; set; }
}