Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.AspNet.Identity;
- using Microsoft.AspNet.Identity.EntityFramework;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Converters;
- using School.Infrastructure;
- using School.Models.DTOs;
- using School.Models.Enum;
- using School.Repositories;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data.Entity;
- using System.Linq;
- using System.Runtime.Serialization;
- using System.Web;
- namespace School.Models
- {
- 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 }
- 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 }
- public enum SubjectsFirstToFourthGrade {Srpski_jezik, Matematika, Likovna_kultura, Muzicka_kultura, Fizicko_vaspitanje, Engleski_jezik, Svet_oko_nas }
- public enum SubjectsFifthGrade {Srpski_jezik, Matematika, Likovna_kultura, Muzicka_kultura, Fizicko_vaspitanje, Engleski_jezik, Istorija, Geografija, Biologija, Tehnicko_i_informaticko_obrazovanje }
- public enum SubjectsSixthGrade { Srpski_jezik, Matematika, Likovna_kultura, Muzicka_kultura, Fizicko_vaspitanje, Engleski_jezik, Istorija, Geografija, Fizika, Biologija, Tehnicko_i_informaticko_obrazovanje }
- public enum SubjectsSeventhToEighthGrade { Srpski_jezik, Matematika, Likovna_kultura, Muzicka_kultura, Fizicko_vaspitanje, Engleski_jezik, Istorija, Geografija, Fizika, Biologija, Hemija, Tehnicko_i_informaticko_obrazovanje }
- public class AuthContextSeedInitializer : DropCreateDatabaseIfModelChanges<AuthContext>
- {
- public Random rnd = new Random();
- private int studentCount = 81;
- private int parentCount = 67;
- private int teacherCount = 21;
- private int adminCount = 1;
- private int subjectCount = 73;
- private Random gen = new Random();
- DateTime RandomDay()
- {
- DateTime start = new DateTime(2003, 1, 1);
- DateTime end = new DateTime(2011, 12, 31);
- int range = (end - start).Days;
- return start.AddDays(gen.Next(range));
- }
- protected override void Seed(AuthContext context)
- {
- var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
- roleManager.Create(new IdentityRole("students"));
- var roleManager1 = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
- roleManager1.Create(new IdentityRole("parents"));
- var roleManager2 = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
- roleManager2.Create(new IdentityRole("teachers"));
- var roleManager3 = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
- roleManager3.Create(new IdentityRole("admins"));
- // Add students
- Student[] students = new Student[studentCount];
- for (int i = 1; i < studentCount; i++)
- {
- var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
- Student student = new Student();
- student.FirstName = System.Enum.GetName(typeof(FirstNames), rnd.Next(System.Enum.GetValues(typeof(FirstNames)).Length));
- student.LastName = System.Enum.GetName(typeof(LastNames), rnd.Next(System.Enum.GetValues(typeof(LastNames)).Length));
- student.UserName = string.Format("{0}{1}{2}", student.FirstName.ToLower(), student.LastName, rnd.Next(0, 100));
- string password = string.Format("{0}{1}", student.FirstName.ToLower(), 123);
- student.DateOfBirth = RandomDay();
- student.UserRole = EUserRole.ROLE_STUDENT;
- students[i] = student;
- userManager.Create(student, password);
- userManager.AddToRole(student.Id, "students");
- }
- context.SaveChanges();
- // Add students
- Parent[] parents = new Parent[parentCount];
- for (int g = 1; g <parentCount; g++)
- {
- var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
- Parent parent = new Parent();
- parent.FirstName = System.Enum.GetName(typeof(FirstNames), rnd.Next(System.Enum.GetValues(typeof(FirstNames)).Length));
- parent.LastName = System.Enum.GetName(typeof(LastNames), rnd.Next(System.Enum.GetValues(typeof(LastNames)).Length));
- parent.UserName = string.Format("{0}{1}{2}", parent.FirstName.ToLower(), parent.LastName.ToLower(), rnd.Next(0, 100));
- string password = string.Format("{0}{1}", parent.FirstName.ToLower(), 321);
- parent.Email = string.Format("{0}@example.com", parent.UserName);
- parent.UserRole = EUserRole.ROLE_PARENT;
- parents[g] = parent;
- userManager.Create(parent, password);
- userManager.AddToRole(parent.Id, "parents");
- }
- context.SaveChanges();
- // Add students
- Teacher[] teachers = new Teacher[teacherCount];
- for (int z = 1; z < teacherCount; z++)
- {
- var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
- Teacher teacher = new Teacher();
- teacher.FirstName = System.Enum.GetName(typeof(FirstNames), rnd.Next(System.Enum.GetValues(typeof(FirstNames)).Length));
- teacher.LastName = System.Enum.GetName(typeof(LastNames), rnd.Next(System.Enum.GetValues(typeof(LastNames)).Length));
- teacher.UserName = string.Format("{0}{1}{2}", teacher.FirstName.ToLower(), teacher.LastName.ToLower(), rnd.Next(0, 100));
- string password = string.Format("{0}{1}", teacher.FirstName.ToLower(), 777);
- teacher.UserRole = EUserRole.ROLE_STUDENT;
- teachers[z] = teacher;
- userManager.Create(teacher, password);
- userManager.AddToRole(teacher.Id, "teachers");
- }
- context.SaveChanges();
- base.Seed(context);
Add Comment
Please, Sign In to add comment