alexpeevk9

ASP.NET Core Seed

May 3rd, 2022 (edited)
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.29 KB | None | 0 0
  1. //  DbInitializer.Seed(serviceProvider.GetRequiredService<AppDbContext>());
  2. //  IServiceProvider serviceProvider
  3.  
  4. using Microsoft.AspNetCore.Identity;
  5. using Models;
  6. using System;
  7. using System.Linq;
  8.  
  9. namespace Data.Seed
  10. {
  11.     public class DbInitializer
  12.     {
  13.         private static string adminRoleId = "e8b6fc47-ad33-486e-ac87-37d639562e71";
  14.         private static string userRoleId = "18b6fc47-ad33-486e-ac87-37d639562e71";
  15.         private static string userId = "08b6fc47-ad33-486e-ac87-37d639562e71";
  16.  
  17.         public static void Seed(AppDbContext context)
  18.         {
  19.             if( !context.Roles.Any())
  20.             {
  21.                 context.AddRange
  22.                 (
  23.                     new IdentityRole { Id = adminRoleId, Name = "Administrator", NormalizedName = "Administrator".ToUpper() },
  24.                     new IdentityRole { Id= userRoleId, Name = "User", NormalizedName = "User".ToUpper() }
  25.                 );
  26.             }
  27.             if (!context.Posts.Any())
  28.             {
  29.                 context.AddRange
  30.                 (
  31.                      new Post
  32.                      {
  33.                          Title = "New Post",
  34.                          ImageUrl = "image",
  35.                          Rating = 3,
  36.                          CreatedAt = DateTime.UtcNow
  37.                      }
  38.                 );
  39.             }
  40.             if (!context.Users.Any())
  41.             {
  42.                 var user = new User
  43.                 {
  44.                     Id = userId,
  45.                     UserName = "[email protected]",
  46.                     Email = "[email protected]",
  47.                     SecurityStamp = string.Empty,
  48.                 };
  49.                 user.PasswordHash = PassGenerate(user);
  50.                 context.AddRange(user);
  51.             }
  52.             if (!context.UserRoles.Any())
  53.             {
  54.                 context.AddRange
  55.                 (
  56.                     new IdentityUserRole<string> { UserId = "08b6fc47-ad33-486e-ac87-37d639562e71", RoleId = "e8b6fc47-ad33-486e-ac87-37d639562e71" }
  57.                 );
  58.             }
  59.             context.SaveChanges();
  60.         }
  61.  
  62.         public static string PassGenerate(User user)
  63.         {
  64.             var passHash = new PasswordHasher<User>();
  65.             return passHash.HashPassword(user, "Administrator9#");
  66.         }
  67.     }
  68. }
  69.  
Add Comment
Please, Sign In to add comment