summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHombreLaser <sebastian-440@live.com>2022-11-24 16:50:03 -0600
committerHombreLaser <sebastian-440@live.com>2022-11-24 16:50:03 -0600
commit1a504435120bf50f7a51ff1351abe8b7e398d6a2 (patch)
tree2b93e6911ede5456dea840208d8f6f12a125c197
parentbc6c7c8a8071eb5c5f8877247dde5dfab9f5e4f8 (diff)
Añadido DTO POST para Prize
-rw-r--r--Forms/PrizeForm.cs16
-rw-r--r--Migrations/ApplicationDbContextModelSnapshot.cs40
-rw-r--r--Models/ApplicationDbContext.cs1
-rw-r--r--Profiles/PrizeProfile.cs12
4 files changed, 69 insertions, 0 deletions
diff --git a/Forms/PrizeForm.cs b/Forms/PrizeForm.cs
new file mode 100644
index 0000000..04f33a0
--- /dev/null
+++ b/Forms/PrizeForm.cs
@@ -0,0 +1,16 @@
+using System.ComponentModel.DataAnnotations;
+using BackendPIA.Validations;
+
+namespace BackendPIA.Forms {
+ public class PrizeForm {
+ [Required]
+ public long RaffleId { get; set; }
+ [Required]
+ public string? Name { get; set; }
+ [Required]
+ [UniqueTier]
+ public int Tier { get; set; }
+ [Required]
+ public string? Category { get; set; }
+ }
+} \ No newline at end of file
diff --git a/Migrations/ApplicationDbContextModelSnapshot.cs b/Migrations/ApplicationDbContextModelSnapshot.cs
index a0d5dfa..e11a6ec 100644
--- a/Migrations/ApplicationDbContextModelSnapshot.cs
+++ b/Migrations/ApplicationDbContextModelSnapshot.cs
@@ -22,6 +22,35 @@ namespace BackendPIA.Migrations
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+ modelBuilder.Entity("BackendPIA.Models.Prize", b =>
+ {
+ b.Property<long>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
+
+ b.Property<string>("Category")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<string>("Name")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<long>("RaffleId")
+ .HasColumnType("bigint");
+
+ b.Property<int>("Tier")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RaffleId");
+
+ b.ToTable("Prizes");
+ });
+
modelBuilder.Entity("BackendPIA.Models.Raffle", b =>
{
b.Property<long>("Id")
@@ -279,6 +308,17 @@ namespace BackendPIA.Migrations
b.ToTable("AspNetUserTokens", (string)null);
});
+ modelBuilder.Entity("BackendPIA.Models.Prize", b =>
+ {
+ b.HasOne("BackendPIA.Models.Raffle", "Raffle")
+ .WithMany()
+ .HasForeignKey("RaffleId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Raffle");
+ });
+
modelBuilder.Entity("BackendPIA.Models.Ticket", b =>
{
b.HasOne("BackendPIA.Models.Raffle", "Raffle")
diff --git a/Models/ApplicationDbContext.cs b/Models/ApplicationDbContext.cs
index 80eb64e..8ab6b27 100644
--- a/Models/ApplicationDbContext.cs
+++ b/Models/ApplicationDbContext.cs
@@ -5,6 +5,7 @@ namespace BackendPIA.Models {
public class ApplicationDbContext : IdentityDbContext<UserAccount> {
public DbSet<Raffle>? Raffles { get; set; }
public DbSet<Ticket>? Tickets { get; set; }
+ public DbSet<Prize>? Prizes { get; set; }
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) {}
diff --git a/Profiles/PrizeProfile.cs b/Profiles/PrizeProfile.cs
new file mode 100644
index 0000000..46545ef
--- /dev/null
+++ b/Profiles/PrizeProfile.cs
@@ -0,0 +1,12 @@
+using AutoMapper;
+
+using BackendPIA.Models;
+using BackendPIA.Forms;
+
+namespace BackendPIA.Profiles {
+ public class PrizeProfile : Profile {
+ public PrizeProfile() {
+ CreateMap<PrizeForm, Prize>();
+ }
+ }
+} \ No newline at end of file