Guest User

Untitled

a guest
Jun 21st, 2018
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.44 KB | None | 0 0
  1. using Microsoft.AspNet.Identity;
  2. using Microsoft.AspNet.Identity.EntityFramework;
  3. using Newtonsoft.Json;
  4. using Newtonsoft.Json.Converters;
  5. using School.Infrastructure;
  6. using School.Models.DTOs;
  7. using School.Models.Enum;
  8. using School.Repositories;
  9. using System;
  10. using System.Collections.Generic;
  11. using System.ComponentModel;
  12. using System.Data.Entity;
  13. using System.Linq;
  14. using System.Runtime.Serialization;
  15. using System.Web;
  16.  
  17. namespace School.Models
  18. {
  19. public enum FirstNames { Milan, Nenad, Marko, Nikola, Veselin, Zlatko, Zarko, Jovan, Marija, Ivana, Vesna, Petar, Vukasin, Aleksandar, Mitar, Slobodan, Ivan, Mladen, Natasa, Doris, Nikolina, Zdenka, Danijela, Goran, Nemanja, Jovana }
  20. public enum LastNames { Miljanic, Stojakovic, Djordjevic, Grujic, Markovic, Petrovic, Nikolic, Jovanovic, Nenadic, Stankovic, Stojkovic, Mitrovic, Bogdanovic, Danilovic, Pesic, Obradovic, Ivkovic, Maljkovic, Jokic, Marjanovic, Milinkovic, Tadic, Stefanovic, Radulovic, Dacic, Kostic }
  21. public enum SubjectsFirstToFourthGrade {Srpski_jezik, Matematika, Likovna_kultura, Muzicka_kultura, Fizicko_vaspitanje, Engleski_jezik, Svet_oko_nas }
  22. public enum SubjectsFifthGrade {Srpski_jezik, Matematika, Likovna_kultura, Muzicka_kultura, Fizicko_vaspitanje, Engleski_jezik, Istorija, Geografija, Biologija, Tehnicko_i_informaticko_obrazovanje }
  23. public enum SubjectsSixthGrade { Srpski_jezik, Matematika, Likovna_kultura, Muzicka_kultura, Fizicko_vaspitanje, Engleski_jezik, Istorija, Geografija, Fizika, Biologija, Tehnicko_i_informaticko_obrazovanje }
  24. public enum SubjectsSeventhToEighthGrade { Srpski_jezik, Matematika, Likovna_kultura, Muzicka_kultura, Fizicko_vaspitanje, Engleski_jezik, Istorija, Geografija, Fizika, Biologija, Hemija, Tehnicko_i_informaticko_obrazovanje }
  25.  
  26.  
  27. public class AuthContextSeedInitializer : DropCreateDatabaseIfModelChanges<AuthContext>
  28. {
  29.  
  30. public Random rnd = new Random();
  31. private int studentCount = 81;
  32. private int parentCount = 67;
  33. private int teacherCount = 21;
  34. private int adminCount = 1;
  35.  
  36. private int subjectCount = 73;
  37.  
  38. private Random gen = new Random();
  39. DateTime RandomDay()
  40. {
  41. DateTime start = new DateTime(2003, 1, 1);
  42. DateTime end = new DateTime(2011, 12, 31);
  43. int range = (end - start).Days;
  44. return start.AddDays(gen.Next(range));
  45. }
  46.  
  47. protected override void Seed(AuthContext context)
  48. {
  49. var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
  50. roleManager.Create(new IdentityRole("students"));
  51. var roleManager1 = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
  52. roleManager1.Create(new IdentityRole("parents"));
  53. var roleManager2 = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
  54. roleManager2.Create(new IdentityRole("teachers"));
  55. var roleManager3 = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
  56. roleManager3.Create(new IdentityRole("admins"));
  57.  
  58. // Add students
  59. Student[] students = new Student[studentCount];
  60. for (int i = 1; i < studentCount; i++)
  61. {
  62. var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
  63. Student student = new Student();
  64.  
  65. student.FirstName = System.Enum.GetName(typeof(FirstNames), rnd.Next(System.Enum.GetValues(typeof(FirstNames)).Length));
  66. student.LastName = System.Enum.GetName(typeof(LastNames), rnd.Next(System.Enum.GetValues(typeof(LastNames)).Length));
  67. student.UserName = string.Format("{0}{1}{2}", student.FirstName.ToLower(), student.LastName, rnd.Next(0, 100));
  68. string password = string.Format("{0}{1}", student.FirstName.ToLower(), 123);
  69. student.DateOfBirth = RandomDay();
  70. student.UserRole = EUserRole.ROLE_STUDENT;
  71. students[i] = student;
  72. userManager.Create(student, password);
  73. userManager.AddToRole(student.Id, "students");
  74. }
  75.  
  76. context.SaveChanges();
  77.  
  78. // Add students
  79. Parent[] parents = new Parent[parentCount];
  80. for (int g = 1; g <parentCount; g++)
  81. {
  82. var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
  83. Parent parent = new Parent();
  84.  
  85. parent.FirstName = System.Enum.GetName(typeof(FirstNames), rnd.Next(System.Enum.GetValues(typeof(FirstNames)).Length));
  86. parent.LastName = System.Enum.GetName(typeof(LastNames), rnd.Next(System.Enum.GetValues(typeof(LastNames)).Length));
  87. parent.UserName = string.Format("{0}{1}{2}", parent.FirstName.ToLower(), parent.LastName.ToLower(), rnd.Next(0, 100));
  88. string password = string.Format("{0}{1}", parent.FirstName.ToLower(), 321);
  89. parent.Email = string.Format("{0}@example.com", parent.UserName);
  90. parent.UserRole = EUserRole.ROLE_PARENT;
  91. parents[g] = parent;
  92. userManager.Create(parent, password);
  93. userManager.AddToRole(parent.Id, "parents");
  94. }
  95.  
  96. context.SaveChanges();
  97.  
  98. // Add students
  99. Teacher[] teachers = new Teacher[teacherCount];
  100. for (int z = 1; z < teacherCount; z++)
  101. {
  102. var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
  103. Teacher teacher = new Teacher();
  104.  
  105. teacher.FirstName = System.Enum.GetName(typeof(FirstNames), rnd.Next(System.Enum.GetValues(typeof(FirstNames)).Length));
  106. teacher.LastName = System.Enum.GetName(typeof(LastNames), rnd.Next(System.Enum.GetValues(typeof(LastNames)).Length));
  107. teacher.UserName = string.Format("{0}{1}{2}", teacher.FirstName.ToLower(), teacher.LastName.ToLower(), rnd.Next(0, 100));
  108. string password = string.Format("{0}{1}", teacher.FirstName.ToLower(), 777);
  109. teacher.UserRole = EUserRole.ROLE_STUDENT;
  110. teachers[z] = teacher;
  111. userManager.Create(teacher, password);
  112. userManager.AddToRole(teacher.Id, "teachers");
  113. }
  114. context.SaveChanges();
  115.  
  116. base.Seed(context);
Add Comment
Please, Sign In to add comment