Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. // Call SampleData.Initialize(app.ApplicationServices).Wait(); in Startup.cs
  2.  
  3. public class SampleData
  4. {
  5. public static async Task InitializeAsync(IServiceProvider serviceProvider)
  6. {
  7. IServiceScope serviceScope = serviceProvider.GetService<IServiceScopeFactory>().CreateScope();
  8. var context = serviceProvider.GetService<ApplicationDbContext>();
  9. var userManager = serviceProvider.GetService<UserManager<IdentityUser>>();
  10. var roleManager = serviceProvider.GetService<RoleManager<IdentityRole>>();
  11.  
  12. string[] roles = new string[] { "Administrator", "User"};
  13.  
  14. foreach (string roleName in roles)
  15. {
  16. var isExist = await roleManager.RoleExistsAsync(roleName);
  17. if (!isExist)
  18. {
  19. await roleManager.CreateAsync(new IdentityRole(roleName));
  20. }
  21. }
  22. var user = new IdentityUser
  23. {
  24. Email = "utharn.b@rmutsb.ac.th",
  25. UserName = "utharn.b@rmutsb.ac.th",
  26. SecurityStamp = Guid.NewGuid().ToString()
  27. };
  28. var currentUser = await userManager.FindByEmailAsync(user.Email);
  29. if (currentUser == null)
  30. {
  31. var result = await userManager.CreateAsync(user, "Secret123!");
  32. currentUser = await userManager.FindByEmailAsync(user.Email);
  33. }
  34. var isAdmin = await userManager.IsInRoleAsync(currentUser, "Administrator");
  35. if (!isAdmin)
  36. {
  37. await userManager.AddToRoleAsync(user, "Administrator");
  38. }
  39. var isUser = await userManager.IsInRoleAsync(currentUser, "User");
  40. if (!isUser)
  41. {
  42. await userManager.AddToRoleAsync(user, "User");
  43. }
  44. var containSampleBook = await context.Books.AnyAsync(b => b.Name == "Sample Book");
  45. if (!containSampleBook)
  46. {
  47. context.Books.Add(new Models.Book
  48. {
  49. Name = "Sample Book",
  50. Price = 100.00m
  51. });
  52. }
  53. await context.SaveChangesAsync();
  54. }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement