示例#1
0
        public async Task SeedAsync()
        {
            await _context.Database.MigrateAsync().ConfigureAwait(false);

            if (!await _context.Users.AnyAsync())
            {
                const string managerRoleName = "manager";
                const string userRoleName    = "user";



                await _roleManager.CreateAsync(new ApplicationRole()
                {
                    Name = managerRoleName
                });

                await _roleManager.CreateAsync(new ApplicationRole()
                {
                    Name = userRoleName
                });

                ApplicationUsers manager = new ApplicationUsers()
                {
                    UserName = "******", FullName = "manager"
                };
                ApplicationUsers user = new ApplicationUsers()
                {
                    UserName = "******", FullName = "user"
                };
                Customer customer = new Customer()
                {
                    Name    = userRoleName,
                    Code    = "0101010",
                    Address = "home",
                    User    = user
                };

                await _userManager.CreateAsync(manager, "123123");

                await _userManager.CreateAsync(user, "123123");

                var managerInData = await _userManager.FindByNameAsync(manager.UserName);

                var userInData = await _userManager.FindByNameAsync(user.UserName);

                try
                {
                    await _userManager.AddToRoleAsync(managerInData, managerRoleName);

                    await _userManager.AddToRoleAsync(userInData, userRoleName);

                    await _context.AddAsync(customer);

                    await _context.SaveChangesAsync();
                }
                catch
                {
                    throw;
                }
            }
        }