SKE-39 add competitions to database
This commit is contained in:
parent
0248cf639d
commit
e13a951ded
@ -0,0 +1,34 @@
|
|||||||
|
using Abp.Domain.Entities.Auditing;
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using SystemKonkursow.Authorization.Users;
|
||||||
|
|
||||||
|
namespace SystemKonkursow.Domain
|
||||||
|
{
|
||||||
|
[Table("Competitions")]
|
||||||
|
public class Competition : FullAuditedEntity<long>
|
||||||
|
{
|
||||||
|
public Competition()
|
||||||
|
{
|
||||||
|
CreationTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
public int CompetitionCategoryId { get; set; }
|
||||||
|
|
||||||
|
public DateTime StartDate { get; set; }
|
||||||
|
|
||||||
|
public DateTime EndDate { get; set; }
|
||||||
|
|
||||||
|
public string Description { get; set; }
|
||||||
|
|
||||||
|
public string Prize { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey(nameof(CompetitionCategoryId))]
|
||||||
|
public virtual CompetitionCategory CompetitionCategory { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey(nameof(CreatorUserId))]
|
||||||
|
public virtual User Creator { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
using Abp.Domain.Entities;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
|
namespace SystemKonkursow.Domain
|
||||||
|
{
|
||||||
|
[Table("CompetitionCategories")]
|
||||||
|
public class CompetitionCategory : Entity<int>
|
||||||
|
{
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
public virtual ICollection<Competition> Competitions { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace SystemKonkursow.EntityFrameworkCore.Seed
|
||||||
|
{
|
||||||
|
public class CompetitionBuilder
|
||||||
|
{
|
||||||
|
private const int CompetitionsNumber = 10;
|
||||||
|
private readonly SystemKonkursowDbContext _context;
|
||||||
|
|
||||||
|
public CompetitionBuilder(SystemKonkursowDbContext context)
|
||||||
|
{
|
||||||
|
_context = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Create()
|
||||||
|
{
|
||||||
|
if (null != _context.CompetitionCategories.FirstOrDefault())
|
||||||
|
return;
|
||||||
|
|
||||||
|
CreateOneCategory("Matematyka");
|
||||||
|
CreateOneCategory("Biologia");
|
||||||
|
CreateOneCategory("Chemia");
|
||||||
|
CreateOneCategory("Fizyka");
|
||||||
|
CreateOneCategory("Geografia");
|
||||||
|
CreateOneCategory("Język polski");
|
||||||
|
CreateOneCategory("Język angielski");
|
||||||
|
CreateOneCategory("Język niemiecki");
|
||||||
|
CreateOneCategory("Historia");
|
||||||
|
CreateOneCategory("Informatyka");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CreateOneCategory(string name)
|
||||||
|
{
|
||||||
|
Random rnd = new Random();
|
||||||
|
|
||||||
|
var competitions = new List<Domain.Competition> { };
|
||||||
|
|
||||||
|
for (int competitionId = 1; competitionId < CompetitionsNumber; competitionId++)
|
||||||
|
{
|
||||||
|
competitions.Add(new Domain.Competition
|
||||||
|
{
|
||||||
|
CreatorUserId = 3,
|
||||||
|
Name = name + " : konkurs nr " + competitionId,
|
||||||
|
StartDate = new DateTime(2019, rnd.Next(1, 4), rnd.Next(1, 29)),
|
||||||
|
EndDate = new DateTime(2019, rnd.Next(4, 7), rnd.Next(1, 31)),
|
||||||
|
Description = "Opis konkursu nr " + competitionId + " z kategorii: " + name,
|
||||||
|
Prize = "Opis nagród dla konkursu nr " + competitionId + " z kategorii: " + name
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var exampleCategory = new Domain.CompetitionCategory()
|
||||||
|
{
|
||||||
|
Name = name,
|
||||||
|
Competitions = competitions
|
||||||
|
};
|
||||||
|
|
||||||
|
_context.CompetitionCategories.Add(exampleCategory);
|
||||||
|
_context.SaveChanges();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -28,6 +28,7 @@ namespace SystemKonkursow.EntityFrameworkCore.Seed
|
|||||||
new DefaultTenantBuilder(context).Create();
|
new DefaultTenantBuilder(context).Create();
|
||||||
new TenantRoleAndUserBuilder(context, 1).Create();
|
new TenantRoleAndUserBuilder(context, 1).Create();
|
||||||
new UserBuilder(context).Create();
|
new UserBuilder(context).Create();
|
||||||
|
new CompetitionBuilder(context).Create();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void WithDbContext<TDbContext>(IIocResolver iocResolver, Action<TDbContext> contextAction)
|
private static void WithDbContext<TDbContext>(IIocResolver iocResolver, Action<TDbContext> contextAction)
|
||||||
|
@ -13,6 +13,12 @@ namespace SystemKonkursow.EntityFrameworkCore
|
|||||||
public SystemKonkursowDbContext(DbContextOptions<SystemKonkursowDbContext> options)
|
public SystemKonkursowDbContext(DbContextOptions<SystemKonkursowDbContext> options)
|
||||||
: base(options)
|
: base(options)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DbSet<Domain.CompetitionCategory> CompetitionCategories { get; set; }
|
||||||
|
|
||||||
|
public DbSet<Domain.Competition> Competitions { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1008,6 +1008,60 @@ namespace SystemKonkursow.Migrations
|
|||||||
b.ToTable("AbpUsers");
|
b.ToTable("AbpUsers");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("SystemKonkursow.Domain.Competition", b =>
|
||||||
|
{
|
||||||
|
b.Property<long>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||||
|
|
||||||
|
b.Property<int>("CompetitionCategoryId");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreationTime");
|
||||||
|
|
||||||
|
b.Property<long?>("CreatorUserId");
|
||||||
|
|
||||||
|
b.Property<long?>("DeleterUserId");
|
||||||
|
|
||||||
|
b.Property<DateTime?>("DeletionTime");
|
||||||
|
|
||||||
|
b.Property<string>("Description");
|
||||||
|
|
||||||
|
b.Property<DateTime>("EndDate");
|
||||||
|
|
||||||
|
b.Property<bool>("IsDeleted");
|
||||||
|
|
||||||
|
b.Property<DateTime?>("LastModificationTime");
|
||||||
|
|
||||||
|
b.Property<long?>("LastModifierUserId");
|
||||||
|
|
||||||
|
b.Property<string>("Name");
|
||||||
|
|
||||||
|
b.Property<string>("Prize");
|
||||||
|
|
||||||
|
b.Property<DateTime>("StartDate");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CompetitionCategoryId");
|
||||||
|
|
||||||
|
b.HasIndex("CreatorUserId");
|
||||||
|
|
||||||
|
b.ToTable("Competitions");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("SystemKonkursow.Domain.CompetitionCategory", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||||
|
|
||||||
|
b.Property<string>("Name");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("CompetitionCategories");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("SystemKonkursow.MultiTenancy.Tenant", b =>
|
modelBuilder.Entity("SystemKonkursow.MultiTenancy.Tenant", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
@ -1209,6 +1263,18 @@ namespace SystemKonkursow.Migrations
|
|||||||
.HasForeignKey("LastModifierUserId");
|
.HasForeignKey("LastModifierUserId");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("SystemKonkursow.Domain.Competition", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("SystemKonkursow.Domain.CompetitionCategory", "CompetitionCategory")
|
||||||
|
.WithMany("Competitions")
|
||||||
|
.HasForeignKey("CompetitionCategoryId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade);
|
||||||
|
|
||||||
|
b.HasOne("SystemKonkursow.Authorization.Users.User", "Creator")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("CreatorUserId");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("SystemKonkursow.MultiTenancy.Tenant", b =>
|
modelBuilder.Entity("SystemKonkursow.MultiTenancy.Tenant", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("SystemKonkursow.Authorization.Users.User", "CreatorUser")
|
b.HasOne("SystemKonkursow.Authorization.Users.User", "CreatorUser")
|
||||||
|
Loading…
Reference in New Issue
Block a user