public async Task <IActionResult> Index() { int NombreClient = 5; int NombreFabricant = 3; int Ref = 256874; var rand = new Random(); string Dir = Directory.GetCurrentDirectory() + "\\wwwroot\\images"; HashSet <string> couleur = new HashSet <string>(); var imageFiles = Directory.GetFiles(Dir); for (int i = 0; i < imageFiles.Length; i++) { imageFiles[i] = Path.GetFileName(imageFiles[i]); couleur.Add(Help.file_color(imageFiles[i])); } _ctx.Database.EnsureDeleted(); _ctx.Database.EnsureCreated(); //Fixtures Adresse for (int i = 1; i <= NombreClient; i++) { _ctx.Adresse.Add( new Adresse { AdLivraison = Faker.Address.StreetAddress(), AdFacturation = Faker.Address.StreetAddress(), } ); } _ctx.SaveChanges(); List <int> IdsAdresse = new List <int>(); foreach (var model in _ctx.Adresse) { IdsAdresse.Add(model.Id); } var IdAd = IdsAdresse.ToArray(); //Fixtures des Fabricants for (int i = 1; i <= NombreFabricant; i++) { _ctx.Fabricant.Add( new Fabricant { Nom = Faker.Company.Name() } ); } _ctx.SaveChanges(); List <int> IdsFabriquant = new List <int>(); foreach (var model in _ctx.Fabricant) { IdsFabriquant.Add(model.Id); } var IdFab = IdsFabriquant.ToArray(); //Fixtures des Couleurs foreach (var col in couleur) { _ctx.Couleur.Add( new Couleur { Nom = col } ); } _ctx.SaveChanges(); //Fixtures des produits for (int i = 1; i <= imageFiles.Length; i++) { string ImgColor = Help.file_color(imageFiles[i - 1]); int idcolor = _ctx.Couleur.Where(p => p.Nom == ImgColor).FirstOrDefault().Id; _ctx.Produit.Add( new Produit { Hauteur = rand.Next(15, 30), Largeur = rand.Next(15, 30), Longueur = rand.Next(15, 30), Poids = rand.Next(1, 5), Capacite = rand.Next(30, 100), Description = Faker.Lorem.Paragraph(5), Prix = rand.Next(5, 30), Image = "/Images/" + imageFiles[i - 1], Frais = 1.5, Disponible = true, Idfabricant = rand.Next(IdFab[0], IdFab[IdFab.Length - 1] + 1), Idcouleur = idcolor, Reference = Ref + i, Nom = "Tirelire" + i } ); } _ctx.SaveChanges(); //Enregistrer un client par defaut RegisterViewModel registerModel = new RegisterViewModel() { RoleName = "Client", AdresseFacturation = "Adresse1", AdresseLivraison = "Adresse2", UserName = "******", Password = "******", Nom = "Eponge", Prenom = "Bob", DateNaissance = "02/05/1980", Telephone = "01-02-03-04-05", Genre = true, Email = "bob@bob", }; Adresse adresse = new Adresse() { AdFacturation = registerModel.AdresseFacturation, AdLivraison = registerModel.AdresseLivraison }; _ctx.Adresse.Add(adresse); _ctx.SaveChanges(); var IdAdresseRegister = _ctx.Adresse.Where(p => p.AdFacturation == registerModel.AdresseFacturation).Select(p => p.Id).FirstOrDefault(); Client clientUser = new Client() { UserName = registerModel.UserName, Nom = registerModel.Nom, Prenom = registerModel.Prenom, DateNaissance = registerModel.DateNaissance, Telephone = registerModel.Telephone, Genre = registerModel.Genre, Idadresse = IdAdresseRegister, Email = registerModel.Email, Active = true }; var result = await _userManager.CreateAsync(clientUser, registerModel.Password); if (result.Succeeded) { bool roleExists = await _roleManager.RoleExistsAsync(registerModel.RoleName); if (!roleExists) { await _roleManager.CreateAsync(new IdentityRole(registerModel.RoleName)); } if (!await _userManager.IsInRoleAsync(clientUser, registerModel.RoleName)) { await _userManager.AddToRoleAsync(clientUser, registerModel.RoleName); } if (!string.IsNullOrWhiteSpace(clientUser.Email)) { Claim claim = new Claim(ClaimTypes.Email, clientUser.Email); await _userManager.AddClaimAsync(clientUser, claim); } } return(Content("Fixtures terminées")); }
/// <summary> /// Suprimer un enregistrement /// </summary> /// <param name="ligne"></param> public void Remove(T ligne) { _ctx.Set <T>().Remove(ligne); _ctx.SaveChanges(); }