Create new Class
continuous-integration/drone/push Build is failing Details

pull/6/head
Emre KARTAL 2 years ago
parent bffe62711e
commit 6ea4c2733e

Binary file not shown.

@ -13,13 +13,17 @@ namespace MyFlib
[Key] [Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; } public Guid Id { get; set; }
[MaxLength(255)] [Required]
[MaxLength(64)]
public string Name { get; set; } public string Name { get; set; }
[Required]
[MaxLength(255)] [MaxLength(255)]
public string Bio { get; set; } public string Bio { get; set; }
public string Icon { get; set; } public string Icon { get; set; }
public string Image { get; set; } public LargeImageEntity Image { get; set; }
[Required]
public ChampionClassEntity Class { get; set; } public ChampionClassEntity Class { get; set; }
public ICollection<SkillEntity> Skills { get; set; }
} }
} }

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyFlib
{
public class LargeImageEntity
{
[Key]
public string Base64 { get; set; }
}
}

@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyFlib
{
public class SkillEntity
{
[Key]
[MaxLength(256)]
public string Name { get; set; }
[Required]
[MaxLength(500)]
public string Description { get; set; }
[Required]
public SkillTypeEntity Type { get; set; }
}
}

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyFlib
{
public class SkinEntity
{
[Key]
[MaxLength(256)]
public string Name { get; set; }
[Required]
[MaxLength(500)]
public string Description { get; set; }
[Required]
public string Icon { get; set; }
[Required]
public float Price { get; set; }
public LargeImageEntity Image { get; set; }
}
}

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyFlib
{
public enum SkillTypeEntity
{
Unknown,
Basic,
Passive,
Ultimate
}
}

@ -10,6 +10,9 @@ namespace MyFlib
public class LolDbContext : DbContext public class LolDbContext : DbContext
{ {
public DbSet<ChampionEntity> Champions { get; set; } public DbSet<ChampionEntity> Champions { get; set; }
public DbSet<SkinEntity> Skills { get; set; }
public DbSet<SkinEntity> Skins { get; set; }
public DbSet<LargeImageEntity> Images { get; set; }
public LolDbContext() public LolDbContext()
{ } { }
@ -28,12 +31,27 @@ namespace MyFlib
modelBuilder.Entity<ChampionEntity>().HasKey(e => e.Id); modelBuilder.Entity<ChampionEntity>().HasKey(e => e.Id);
modelBuilder.Entity<ChampionEntity>().Property(e => e.Id).ValueGeneratedOnAdd(); modelBuilder.Entity<ChampionEntity>().Property(e => e.Id).ValueGeneratedOnAdd();
modelBuilder.Entity<ChampionEntity>().HasData( modelBuilder.Entity<ChampionEntity>().HasData(
new ChampionEntity { Id = Guid.Parse("{4422C524-B2CB-43EF-8263-990C3CEA7CAE}"), Name = "Akali", Class = ChampionClassEntity.Assassin, Bio = "", Icon = "", Image = "" }, new ChampionEntity { Id = Guid.Parse("{4422C524-B2CB-43EF-8263-990C3CEA7CAE}"), Name = "Akali", Class = ChampionClassEntity.Assassin, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } },
new ChampionEntity { Id = Guid.Parse("{A4F84D92-C20F-4F2D-B3F9-CA00EF556E72}"), Name = "Aatrox", Class = ChampionClassEntity.Fighter, Bio = "", Icon = "", Image = "" }, new ChampionEntity { Id = Guid.Parse("{A4F84D92-C20F-4F2D-B3F9-CA00EF556E72}"), Name = "Aatrox", Class = ChampionClassEntity.Fighter, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } },
new ChampionEntity { Id = Guid.Parse("{AE5FE535-F041-445E-B570-28B75BC78CB9}"), Name = "Ahri", Class = ChampionClassEntity.Mage, Bio = "", Icon = "", Image = "" }, new ChampionEntity { Id = Guid.Parse("{AE5FE535-F041-445E-B570-28B75BC78CB9}"), Name = "Ahri", Class = ChampionClassEntity.Mage, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } },
new ChampionEntity { Id = Guid.Parse("{3708dcfd-02a1-491e-b4f7-e75bf274cf23}"), Name = "Akshan", Class = ChampionClassEntity.Marksman, Bio = "", Icon = "", Image = "" }, new ChampionEntity { Id = Guid.Parse("{3708dcfd-02a1-491e-b4f7-e75bf274cf23}"), Name = "Akshan", Class = ChampionClassEntity.Marksman, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } },
new ChampionEntity { Id = Guid.Parse("{7f7746fa-b1cb-49da-9409-4b3e6910500e}"), Name = "Bard", Class = ChampionClassEntity.Support, Bio = "", Icon = "", Image = "" }, new ChampionEntity { Id = Guid.Parse("{7f7746fa-b1cb-49da-9409-4b3e6910500e}"), Name = "Bard", Class = ChampionClassEntity.Support, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } },
new ChampionEntity { Id = Guid.Parse("{36ad2a82-d17b-47de-8a95-6e154a7df557}"), Name = "Alistar", Class = ChampionClassEntity.Tank, Bio = "", Icon = "", Image = "" } new ChampionEntity { Id = Guid.Parse("{36ad2a82-d17b-47de-8a95-6e154a7df557}"), Name = "Alistar", Class = ChampionClassEntity.Tank, Bio = "", Icon = "", Image = new LargeImageEntity { Base64 = "empty" } }
);
modelBuilder.Entity<SkillEntity>().HasData(
new SkillEntity { Name = "Boule de feu", Description = "Fire!", Type = SkillTypeEntity.Basic },
new SkillEntity { Name = "White Star", Description = "Random damage", Type = SkillTypeEntity.Ultimate }
);
modelBuilder.Entity<Images>().HasData(
new LargeImageEntity { Base64 = "empty" },
new LargeImageEntity { Base64 = "empty2" }
);
modelBuilder.Entity<SkinEntity>().HasData(
new SkinEntity { Name = "Yone fleur spirituelle", Description = "Spirit Blossom", Icon = "empty", Price = 975, Image = new LargeImageEntity { Base64 = "empty" } },
new SkinEntity { Name = "Yasuo Lune de sang", Description = "Blood Moon", Icon = "empty", Price = 975, Image = new LargeImageEntity { Base64 = "empty" } }
); );
} }

@ -1,20 +1,25 @@
// See https://aka.ms/new-console-template for more information // See https://aka.ms/new-console-template for more information
using MyFlib; using MyFlib;
using static System.Console;
using (var context = new LolDbContext()) using (var context = new LolDbContext())
{ {
foreach (var c in context.Champions) foreach (var c in context.Champions)
{ {
Console.WriteLine($"{c.Name} - {c.Class}"); WriteLine($"{c.Name} - {c.Class}");
} }
Console.WriteLine("\nWith new Champions :\n"); WriteLine("\nWith new Champions :\n");
DataSeeder.SeedData(context); DataSeeder.SeedData(context);
foreach (var c in context.Champions) foreach (var c in context.Champions)
{ {
Console.WriteLine($"{c.Name} - {c.Class}"); WriteLine($"{c.Name} - {c.Class}");
foreach (var s in c.Skills)
{
WriteLine($"\t\t{s.Name} - {s.Description}");
}
} }
context.SaveChangesAsync(); // or context.SaveChangesAsync context.SaveChangesAsync(); // or context.SaveChangesAsync

@ -19,7 +19,11 @@ namespace UT_EF
ChampionEntity hecarim = new ChampionEntity { Name = "Hecarim", Class = ChampionClassEntity.Fighter, Bio = "", Icon = "", Image = "" }; ChampionEntity hecarim = new ChampionEntity { Name = "Hecarim", Class = ChampionClassEntity.Fighter, Bio = "", Icon = "", Image = "" };
ChampionEntity yuumi = new ChampionEntity { Name = "yuumi", Class = ChampionClassEntity.Mage, Bio = "", Icon = "", Image = "" }; ChampionEntity yuumi = new ChampionEntity { Name = "yuumi", Class = ChampionClassEntity.Mage, Bio = "", Icon = "", Image = "" };
context.Champions.AddRange(sylas, hecarim, yuumi); // test contrainte
ChampionEntity errorName = new ChampionEntity { Name = "c1832f35-f909-422d-a1fb-e0b79a62f562-fa7c5fe2-89b7-432e-9e0f-a5736445b381-3f75c0f8-de2e-4cf4-82d2-3d24411f6422-6b7e9196-3664-4813-b971-e9cc08a4b255-c1832f35-f909-422d-a1fb-e0b79a62f562-fa7c5fe2-89b7-432e-9e0f-a5736445b381-3f75c0f8-de2e-4cf4-82d2-3d24411f6422-6b7e9196-3664-4813-b971-e9cc08a4b255"
, Class = ChampionClassEntity.Mage, Bio = "", Icon = "", Image = "" };
context.Champions.AddRange(sylas, hecarim, yuumi, errorName);
context.SaveChanges(); context.SaveChanges();
} }

Loading…
Cancel
Save