models + fix DTO

This commit is contained in:
2025-10-02 17:21:25 +02:00
parent 29b9520193
commit 52066ccdc2
14 changed files with 168 additions and 23 deletions

View File

@@ -3,4 +3,12 @@
public class CreateSoundDto
{
public string? Name { get; set; }
public string? Type { get; set; }
public string? Artist { get; set; }
public string? Duration { get; set; }
public string? Kind { get; set; }
public string? Format { get; set; }
public string? CreationDate { get; set; }
public string? SoundCategoryId { get; set; }
}

View File

@@ -4,4 +4,12 @@ public class UpdateSoundDto
{
public int? Id { get; set; }
public string? Name { get; set; }
public string? Type { get; set; }
public string? Artist { get; set; }
public string? Duration { get; set; }
public string? Kind { get; set; }
public string? Format { get; set; }
public string? CreationDate { get; set; }
public string? SoundCategoryId { get; set; }
}

View File

@@ -4,4 +4,12 @@ public class ReadSoundDto
{
public int? Id { get; set; }
public string? Name { get; set; }
public string? Type { get; set; }
public string? Artist { get; set; }
public string? Duration { get; set; }
public string? Kind { get; set; }
public string? Format { get; set; }
public string? CreationDate { get; set; }
public string? SoundCategoryId { get; set; }
}

View File

@@ -3,11 +3,4 @@
public class CreateSoundCategoryDto
{
public string? Name { get; set; }
public string? Type { get; set; }
public string? Artist { get; set; }
public string? Duration { get; set; }
public string? Kind { get; set; }
public string? Format { get; set; }
public string? CreationDate { get; set; }
public string? SoundCategoryId { get; set; }
}

View File

@@ -4,11 +4,4 @@ public class UpdateSoundCategoryDto
{
public int? Id { get; set; }
public string? Name { get; set; }
public string? Type { get; set; }
public string? Artist { get; set; }
public string? Duration { get; set; }
public string? Kind { get; set; }
public string? Format { get; set; }
public string? CreationDate { get; set; }
public string? SoundCategoryId { get; set; }
}

View File

@@ -4,11 +4,4 @@ public class ReadSoundCategoryDto
{
public int? Id { get; set; }
public string? Name { get; set; }
public string? Type { get; set; }
public string? Artist { get; set; }
public string? Duration { get; set; }
public string? Kind { get; set; }
public string? Format { get; set; }
public string? CreationDate { get; set; }
public string? SoundCategoryId { get; set; }
}

View File

@@ -3,7 +3,7 @@
public class CreateTruckDto
{
public string? Type { get; set; }
public string? MaxExplosiveCapacity { get; set; }
public double? MaxExplosiveCapacity { get; set; }
public string? Sizes { get; set; }
public bool? Statut { get; set; }
public int? ShowId { get; set; }

27
PF3/Models/Show.cs Normal file
View File

@@ -0,0 +1,27 @@
using System.ComponentModel.DataAnnotations;
namespace PF3.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; } = new List<Staff>();
public ICollection<Truck> Trucks { get; set; } = new List<Truck>();
public ICollection<SoundTimecode> SoundCues { get; set; } = new List<SoundTimecode>();
}

35
PF3/Models/Sound.cs Normal file
View File

@@ -0,0 +1,35 @@
using System.ComponentModel.DataAnnotations;
using PF3.Models;
namespace PF3.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; } = new List<SoundTimecode>();
}

View File

@@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
namespace PF3.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>();
}

View File

@@ -0,0 +1,22 @@
using System.ComponentModel.DataAnnotations;
namespace PF3.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
PF3/Models/Staff.cs Normal file
View File

@@ -0,0 +1,22 @@
using System.ComponentModel.DataAnnotations;
namespace PF3.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; } = new List<Show>();
}

24
PF3/Models/Truck.cs Normal file
View File

@@ -0,0 +1,24 @@
using System.ComponentModel.DataAnnotations;
namespace PF3.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? Statut { get; set; }
[Required]
public int ShowId { get; set; }
public Show? Show { get; set; }
}

View File

@@ -16,7 +16,6 @@
<Folder Include="DTO\SoundCategory\" />
<Folder Include="DTO\SoundTimecode\" />
<Folder Include="Endpoint\" />
<Folder Include="Models\" />
</ItemGroup>
</Project>