diff --git a/.idea/.idea.PF3/.idea/.name b/.idea/.idea.PF3/.idea/.name new file mode 100644 index 0000000..9dee77a --- /dev/null +++ b/.idea/.idea.PF3/.idea/.name @@ -0,0 +1 @@ +PF3 \ No newline at end of file diff --git a/PF3/DTO/Show/Request/CreateShowDto.cs b/PF3/DTO/Show/Request/CreateShowDto.cs new file mode 100644 index 0000000..5230f53 --- /dev/null +++ b/PF3/DTO/Show/Request/CreateShowDto.cs @@ -0,0 +1,10 @@ +namespace PF3.DTO.Show.Request; + +public class CreateShowDto +{ + public string? Name { get; set; } + public string? Place { get; set; } + public string? Description { get; set; } + public string? PyrotechnicImplementationPlan { get; set; } + public DateTime? Date { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Show/Request/IdShowDto.cs b/PF3/DTO/Show/Request/IdShowDto.cs new file mode 100644 index 0000000..ebf5e37 --- /dev/null +++ b/PF3/DTO/Show/Request/IdShowDto.cs @@ -0,0 +1,6 @@ +namespace PF3.DTO.Show.Request; + +public class IdShowDto +{ + public int? Id { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Show/Request/UpdateShowDto.cs b/PF3/DTO/Show/Request/UpdateShowDto.cs new file mode 100644 index 0000000..ac3c132 --- /dev/null +++ b/PF3/DTO/Show/Request/UpdateShowDto.cs @@ -0,0 +1,11 @@ +namespace PF3.DTO.Show.Request; + +public class UpdateShowDto +{ + public int? Id { get; set; } + public string? Name { get; set; } + public string? Place { get; set; } + public string? Description { get; set; } + public string? PyrotechnicImplementationPlan { get; set; } + public DateTime? Date { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Show/Response/ReadShowDto.cs b/PF3/DTO/Show/Response/ReadShowDto.cs new file mode 100644 index 0000000..4e91893 --- /dev/null +++ b/PF3/DTO/Show/Response/ReadShowDto.cs @@ -0,0 +1,11 @@ +namespace PF3.DTO.Show.Response; + +public class ReadShowDto +{ + public int? Id { get; set; } + public string? Name { get; set; } + public string? Place { get; set; } + public string? Description { get; set; } + public string? PyrotechnicImplementationPlan { get; set; } + public DateTime? Date { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Sound/Request/CreateSoundDto.cs b/PF3/DTO/Sound/Request/CreateSoundDto.cs new file mode 100644 index 0000000..e1775ae --- /dev/null +++ b/PF3/DTO/Sound/Request/CreateSoundDto.cs @@ -0,0 +1,14 @@ +namespace PF3.DTO.SoundCategory.Request; + +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 DateTime? CreationDate { get; set; } + public string? SoundCategoryId { get; set; } + +} \ No newline at end of file diff --git a/PF3/DTO/Sound/Request/IdSoundto.cs b/PF3/DTO/Sound/Request/IdSoundto.cs new file mode 100644 index 0000000..41bad0b --- /dev/null +++ b/PF3/DTO/Sound/Request/IdSoundto.cs @@ -0,0 +1,6 @@ +namespace PF3.DTO.SoundCategory.Request; + +public class IdSoundto +{ + public int? Id { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Sound/Request/UpdateSoundDto.cs b/PF3/DTO/Sound/Request/UpdateSoundDto.cs new file mode 100644 index 0000000..2382b13 --- /dev/null +++ b/PF3/DTO/Sound/Request/UpdateSoundDto.cs @@ -0,0 +1,15 @@ +namespace PF3.DTO.SoundCategory.Request; + +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 DateTime? CreationDate { get; set; } + public string? SoundCategoryId { get; set; } + +} \ No newline at end of file diff --git a/PF3/DTO/Sound/Response/ReadSoundDto.cs b/PF3/DTO/Sound/Response/ReadSoundDto.cs new file mode 100644 index 0000000..0ee013d --- /dev/null +++ b/PF3/DTO/Sound/Response/ReadSoundDto.cs @@ -0,0 +1,15 @@ +namespace PF3.DTO.SoundCategory.Response; + +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 DateTime? CreationDate { get; set; } + public string? SoundCategoryId { get; set; } + +} \ No newline at end of file diff --git a/PF3/DTO/SoundCategory/Request/CreateSoundCategoryDto.cs b/PF3/DTO/SoundCategory/Request/CreateSoundCategoryDto.cs new file mode 100644 index 0000000..743d458 --- /dev/null +++ b/PF3/DTO/SoundCategory/Request/CreateSoundCategoryDto.cs @@ -0,0 +1,6 @@ +namespace PF3.DTO.SoundCategory.Request; + +public class CreateSoundCategoryDto +{ + public string? Name { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/SoundCategory/Request/IdSoundCategoryDto.cs b/PF3/DTO/SoundCategory/Request/IdSoundCategoryDto.cs new file mode 100644 index 0000000..d2aad4f --- /dev/null +++ b/PF3/DTO/SoundCategory/Request/IdSoundCategoryDto.cs @@ -0,0 +1,6 @@ +namespace PF3.DTO.SoundCategory.Request; + +public class IdSoundCategoryDto +{ + public int? Id { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/SoundCategory/Request/UpdateSoundCategoryDto.cs b/PF3/DTO/SoundCategory/Request/UpdateSoundCategoryDto.cs new file mode 100644 index 0000000..43e7e1f --- /dev/null +++ b/PF3/DTO/SoundCategory/Request/UpdateSoundCategoryDto.cs @@ -0,0 +1,7 @@ +namespace PF3.DTO.SoundCategory.Request; + +public class UpdateSoundCategoryDto +{ + public int? Id { get; set; } + public string? Name { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/SoundCategory/Response/ReadSoundCategoryDto.cs b/PF3/DTO/SoundCategory/Response/ReadSoundCategoryDto.cs new file mode 100644 index 0000000..c113b6f --- /dev/null +++ b/PF3/DTO/SoundCategory/Response/ReadSoundCategoryDto.cs @@ -0,0 +1,7 @@ +namespace PF3.DTO.SoundCategory.Response; + +public class ReadSoundCategoryDto +{ + public int? Id { get; set; } + public string? Name { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/SoundTimecode/Request/CreateSoundTimecodeDto.cs b/PF3/DTO/SoundTimecode/Request/CreateSoundTimecodeDto.cs new file mode 100644 index 0000000..e4256a3 --- /dev/null +++ b/PF3/DTO/SoundTimecode/Request/CreateSoundTimecodeDto.cs @@ -0,0 +1,9 @@ +namespace PF3.DTO.SoundTimecode.Request; + +public class CreateSoundTimecodeDto +{ + public int? ShowId { get; set; } + public int? SoundId { get; set; } + public string? Start { get; set; } + public string? End { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/SoundTimecode/Request/IdSoundTimecodeDto.cs b/PF3/DTO/SoundTimecode/Request/IdSoundTimecodeDto.cs new file mode 100644 index 0000000..3f86699 --- /dev/null +++ b/PF3/DTO/SoundTimecode/Request/IdSoundTimecodeDto.cs @@ -0,0 +1,6 @@ +namespace PF3.DTO.SoundTimecode.Request; + +public class IdSoundTimecodeDto +{ + public int? Id { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/SoundTimecode/Request/UpdateSoundTimecodeDto.cs b/PF3/DTO/SoundTimecode/Request/UpdateSoundTimecodeDto.cs new file mode 100644 index 0000000..0397435 --- /dev/null +++ b/PF3/DTO/SoundTimecode/Request/UpdateSoundTimecodeDto.cs @@ -0,0 +1,10 @@ +namespace PF3.DTO.SoundTimecode.Request; + +public class UpdateSoundTimecodeDto +{ + public int? Id { get; set; } + public int? ShowId { get; set; } + public int? SoundId { get; set; } + public string? Start { get; set; } + public string? End { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/SoundTimecode/Response/ReadSoundTimecodeDto.cs b/PF3/DTO/SoundTimecode/Response/ReadSoundTimecodeDto.cs new file mode 100644 index 0000000..c8e4cc7 --- /dev/null +++ b/PF3/DTO/SoundTimecode/Response/ReadSoundTimecodeDto.cs @@ -0,0 +1,10 @@ +namespace PF3.DTO.SoundTimecode.Response; + +public class ReadSoundTimecodeDto +{ + public int? Id { get; set; } + public int? ShowId { get; set; } + public int? SoundId { get; set; } + public string? Start { get; set; } + public string? End { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Staff/Request/CreateStaffDto.cs b/PF3/DTO/Staff/Request/CreateStaffDto.cs new file mode 100644 index 0000000..c68747d --- /dev/null +++ b/PF3/DTO/Staff/Request/CreateStaffDto.cs @@ -0,0 +1,9 @@ +namespace PF3.DTO.Staff.Request; + +public class CreateStaffDto +{ + public string? FirstName { get; set; } + public string? LastName { get; set; } + public string? Profession { get; set; } + public string? Email { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Staff/Request/IdStaffDto.cs b/PF3/DTO/Staff/Request/IdStaffDto.cs new file mode 100644 index 0000000..8f8ae83 --- /dev/null +++ b/PF3/DTO/Staff/Request/IdStaffDto.cs @@ -0,0 +1,6 @@ +namespace PF3.DTO.Staff.Request; + +public class IdStaffDto +{ + public int? Id { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Staff/Request/UpdateStaffDto.cs b/PF3/DTO/Staff/Request/UpdateStaffDto.cs new file mode 100644 index 0000000..31fa354 --- /dev/null +++ b/PF3/DTO/Staff/Request/UpdateStaffDto.cs @@ -0,0 +1,10 @@ +namespace PF3.DTO.Staff.Request; + +public class UpdateStaffDto +{ + public int? Id { get; set; } + public string? FirstName { get; set; } + public string? LastName { get; set; } + public string? Profession { get; set; } + public string? Email { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Staff/Response/ReadStaffDto.cs b/PF3/DTO/Staff/Response/ReadStaffDto.cs new file mode 100644 index 0000000..c11a6ab --- /dev/null +++ b/PF3/DTO/Staff/Response/ReadStaffDto.cs @@ -0,0 +1,10 @@ +namespace PF3.DTO.Staff.Response; + +public class ReadStaffDto +{ + public int? Id { get; set; } + public string? FirstName { get; set; } + public string? LastName { get; set; } + public string? Profession { get; set; } + public string? Email { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Truck/Request/CreateTruckDto.cs b/PF3/DTO/Truck/Request/CreateTruckDto.cs new file mode 100644 index 0000000..6b306b8 --- /dev/null +++ b/PF3/DTO/Truck/Request/CreateTruckDto.cs @@ -0,0 +1,10 @@ +namespace PF3.DTO.Truck.Request; + +public class CreateTruckDto +{ + public string? Type { get; set; } + public double? MaxExplosiveCapacity { get; set; } + public string? Sizes { get; set; } + public bool? Statut { get; set; } + public int? ShowId { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Truck/Request/IdTruckDto.cs b/PF3/DTO/Truck/Request/IdTruckDto.cs new file mode 100644 index 0000000..4ce547b --- /dev/null +++ b/PF3/DTO/Truck/Request/IdTruckDto.cs @@ -0,0 +1,6 @@ +namespace PF3.DTO.Truck.Request; + +public class IdTruckDto +{ + public int? Id { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Truck/Request/UpdateTruckDto.cs b/PF3/DTO/Truck/Request/UpdateTruckDto.cs new file mode 100644 index 0000000..8743417 --- /dev/null +++ b/PF3/DTO/Truck/Request/UpdateTruckDto.cs @@ -0,0 +1,11 @@ +namespace PF3.DTO.Truck.Request; + +public class UpdateTruckDto +{ + public int? Id { get; set; } + public string? Type { get; set; } + public string? MaxExplosiveCapacity { get; set; } + public string? Sizes { get; set; } + public bool? Statut { get; set; } + public int? ShowId { get; set; } +} \ No newline at end of file diff --git a/PF3/DTO/Truck/Response/ReadTruckDto.cs b/PF3/DTO/Truck/Response/ReadTruckDto.cs new file mode 100644 index 0000000..4218a76 --- /dev/null +++ b/PF3/DTO/Truck/Response/ReadTruckDto.cs @@ -0,0 +1,11 @@ +namespace PF3.DTO.Truck.Response; + +public class ReadTruckDto +{ + public int? Id { get; set; } + public string? Type { get; set; } + public string? MaxExplosiveCapacity { get; set; } + public string? Sizes { get; set; } + public bool? Statut { get; set; } + public int? ShowId { get; set; } +} \ No newline at end of file diff --git a/PF3/Models/Show.cs b/PF3/Models/Show.cs new file mode 100644 index 0000000..b076106 --- /dev/null +++ b/PF3/Models/Show.cs @@ -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 d’implémentation pyrotechnique + [Required, MaxLength(500)] + public string? PyrotechnicImplementationPlan { get; set; } + + public DateTime? Date { get; set; } + + public ICollection Staff { get; set; } = new List(); + public ICollection Trucks { get; set; } = new List(); + public ICollection SoundCues { get; set; } = new List(); +} \ No newline at end of file diff --git a/PF3/Models/Sound.cs b/PF3/Models/Sound.cs new file mode 100644 index 0000000..f1fbf0c --- /dev/null +++ b/PF3/Models/Sound.cs @@ -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 ShowPlacements { get; set; } = new List(); +} \ No newline at end of file diff --git a/PF3/Models/SoundCategory.cs b/PF3/Models/SoundCategory.cs new file mode 100644 index 0000000..89d67bc --- /dev/null +++ b/PF3/Models/SoundCategory.cs @@ -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 Sounds { get; set; } = new List(); +} \ No newline at end of file diff --git a/PF3/Models/SoundTimecode.cs b/PF3/Models/SoundTimecode.cs new file mode 100644 index 0000000..0f349ce --- /dev/null +++ b/PF3/Models/SoundTimecode.cs @@ -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; } +} \ No newline at end of file diff --git a/PF3/Models/Staff.cs b/PF3/Models/Staff.cs new file mode 100644 index 0000000..caa3c1e --- /dev/null +++ b/PF3/Models/Staff.cs @@ -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 Shows { get; set; } = new List(); +} \ No newline at end of file diff --git a/PF3/Models/Truck.cs b/PF3/Models/Truck.cs new file mode 100644 index 0000000..aae485f --- /dev/null +++ b/PF3/Models/Truck.cs @@ -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; } +} \ No newline at end of file diff --git a/PF3/PF3.csproj b/PF3/PF3.csproj index 07ef0ac..72289cb 100644 --- a/PF3/PF3.csproj +++ b/PF3/PF3.csproj @@ -11,4 +11,11 @@ + + + + + + +