示例#1
0
        public static async Task Initialize(IServiceProvider serviceProvider)
        {
            byte   count    = 0;
            string userPASS = "******";

            var context     = serviceProvider.GetRequiredService <ApplicationDbContext>();
            var userManger  = serviceProvider.GetRequiredService <UserManager <ApplicationUser> >();
            var roleManager = serviceProvider.GetRequiredService <RoleManager <IdentityRole> >();


            var userMangerService = new UserManagerService(userManger);
            var roleManagerSerice = new RoleManagerService(roleManager);

            //var conetextIfExist =  context.Database.EnsureCreated();
            // var context = ApplicationDbContext.Create();


            if (!context.Roles.Any())
            {
                foreach (var role in roles)
                {
                    await roleManagerSerice.CreateRoleAsync(new IdentityRole()
                    {
                        Name = role
                    });
                }
            }

            if (!context.Users.Any())
            {
                var userList = new List <ApplicationUser>()
                {
                    new ApplicationUser()
                    {
                        FirstName   = "Bilal",
                        LastName    = "Aslam",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        PhoneNumber = "03464131733"
                    },
                    new ApplicationUser()
                    {
                        FirstName   = "Abdul Rehman",
                        LastName    = "Ahsan",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        PhoneNumber = "03464131733"
                    },
                    new ApplicationUser()
                    {
                        FirstName   = "Waleed",
                        LastName    = "Ahsan",
                        UserName    = "******",
                        Email       = "*****@*****.**",
                        PhoneNumber = "03464131733"
                    }
                };

                foreach (var user in userList)
                {
                    await userMangerService.CreateUserAsync(user, userPASS);

                    await userMangerService.AssignRoleAsync(user.Id, roles[count++]);
                }
            }
        }