Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Data.Entity;
- using System.Linq;
- using Microsoft.AspNet.Identity;
- using SubTeacher.Models;
- using Microsoft.AspNet.Identity.EntityFramework;
- using System.Data.Entity.Migrations;
- using System.Collections.Generic;
- namespace SubTeacher.Data
- {
- public class DbInitializer : DropCreateDatabaseIfModelChanges<ApplicationDbContext>
- {
- // private IUowData uow = new EFUowData();
- protected override void Seed(ApplicationDbContext context)
- {
- // Add Admin User
- var adminUser = this.CreateAdminUser(context);
- base.Seed(context);
- }
- private ApplicationUser CreateAdminUser(ApplicationDbContext context)
- {
- foreach (SubjectType subjType in Enum.GetValues(typeof(SubjectType)))
- context.Subjects.AddOrUpdate(new Subject { SubjectID = subjType, Name = subjType.ToString() });
- foreach (GradeType gradeType in Enum.GetValues(typeof(GradeType)))
- context.Grades.AddOrUpdate(new Grade { GradeID = gradeType, Name = gradeType.ToString() });
- var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
- var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
- var adminUser1 = (ApplicationUser)manager.Users.FirstOrDefault();
- if (adminUser1 != null)
- return adminUser1;
- // Creating User Roles
- roleManager.Create(new IdentityRole { Name = "SYSADMIN" });
- roleManager.Create(new IdentityRole { Name = "SCHOOL" });
- roleManager.Create(new IdentityRole { Name = "TEACHER" });
- roleManager.Create(new IdentityRole { Name = "SUBTEACHER" });
- // setting the new admin user
- ApplicationUser adminUser = new ApplicationUser
- {
- UserName = "admin@subteacher.com",
- Email = "admin@subteacher.com",
- EmailConfirmed = true,
- PhoneNumber = "+4540404040",
- PostalCode = "9000",
- JoinDate = DateTime.Now,
- Name = "Global Administrator"
- };
- ApplicationUser subteacherUser = new ApplicationUser
- {
- UserName = "sub@sub.com",
- Email = "sub@sub.com",
- EmailConfirmed = true,
- PhoneNumber = "+4541241",
- PostalCode = "9000",
- JoinDate = DateTime.Now,
- Name = "Potato"
- };
- var subject = new Subject { SubjectID = SubjectType.ART ,Name = "123"};
- var grade = new Grade { GradeID = GradeType.G0_6, Name = "123" };
- var subteacher1 = new Subteacher()
- {
- Qualifications = "i know something",
- // SubjectGrades = new List<SubjectGrade>(){ new SubjectGrade { Subject = subject, Grade = grade }
- };
- ApplicationUser teacher2 = new ApplicationUser
- {
- UserName = "sub1@sub.com",
- Email = "sub1@sub.com",
- EmailConfirmed = true,
- PhoneNumber = "+45446451",
- PostalCode = "9000",
- JoinDate = DateTime.Now,
- Name = "Potato"
- };
- ApplicationUser teacher3 = new ApplicationUser
- {
- UserName = "sub2@sub.com",
- Email = "su2@sub.com",
- EmailConfirmed = true,
- PhoneNumber = "+4545645",
- PostalCode = "9000",
- JoinDate = DateTime.Now,
- Name = "Potato"
- };
- ApplicationUser teacher4 = new ApplicationUser
- {
- UserName = "sub3sub.com",
- Email = "su3@sub.com",
- EmailConfirmed = true,
- PhoneNumber = "+45445541",
- PostalCode = "9000",
- JoinDate = DateTime.Now,
- Name = "Potato"
- };
- manager.Create(subteacherUser, "Str0ngP4ss!");
- manager.AddToRole(subteacherUser.Id, "SUBTEACHER");
- subteacher1.UserId = subteacherUser.Id;
- context.Subteachers.AddOrUpdate(subteacher1);
- //manager.Create(teacher2, "Str0ngP4ss!");
- //manager.AddToRole(teacher2.Id, "SUBTEACHER");
- // manager.Create(teacher3, "Str0ngP4ss!");
- // manager.AddToRole(teacher3.Id, "SUBTEACHER");
- // manager.Create(teacher4, "Str0ngP4ss!");
- // manager.AddToRole(teacher4.Id, "SUBTEACHER");
- manager.Create(adminUser, "Str0ngP4ss!");
- manager.AddToRole(adminUser.Id, "SYSADMIN");
- context.SaveChanges();
- // returns the newly created admin id
- return adminUser;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement