private static async Task CreateAgencies(LLDbContext context) { if (!await context.Agencies.AnyAsync(c => c.Name == "Entwhistle Green")) { var agency = new Agency { Created = DateTime.Now, Name = "Entwhistle Green" }; await context.Agencies.AddAsync(agency); await context.SaveChangesAsync(); var user1 = await context.Users.FirstAsync(c => c.UserName == "*****@*****.**"); var user2 = await context.Users.FirstAsync(c => c.UserName == "*****@*****.**"); user1.AgencyId = agency.Id; user2.AgencyId = agency.Id; await context.SaveChangesAsync(); var landlord1 = await context.Users.FirstAsync(c => c.UserName == "*****@*****.**"); var portfolios = context.ApplicationUserPortfolios.Where(c => c.UserId == landlord1.Id); await portfolios.ForEachAsync(c => c.AgencyId = agency.Id); await context.SaveChangesAsync(); var agencyPortfolio = new Portfolio { Created = DateTime.Now, DisplayName = "Agency Portfolio", Name = "Agency-BBB445" }; await context.Portfolios.AddAsync(agencyPortfolio); await context.SaveChangesAsync(); var link = new ApplicationUserPortfolio { Created = DateTime.Now, PortfolioId = agencyPortfolio.Id, AgencyId = agency.Id, UserId = user1.Id }; await context.ApplicationUserPortfolios.AddAsync(link); await context.SaveChangesAsync(); } }
private static async Task CreateUsers(LLDbContext context, ApplicationUserManager userManager) { if (!await userManager.Users.AnyAsync(c => c.UserName == "*****@*****.**")) { var administrator = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, FirstName = "Admin", LastName = "Admin" }; await userManager.CreateAsync(administrator, "Password123"); await userManager.AddToRoleAsync(administrator, ApplicationRoles.SiteAdministrator); await userManager.SetUserPermissionsAsync(administrator.Id, DefaultPermissions.Administrator.Select(c => Guid.Parse(c)).ToArray()); } if (!await userManager.Users.AnyAsync(c => c.UserName == "*****@*****.**")) { var landlord = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, FirstName = "Jon", LastName = "Preece" }; await userManager.CreateAsync(landlord, "Password123"); await userManager.AddToRoleAsync(landlord, ApplicationRoles.Landlord); await userManager.SetUserPermissionsAsync(landlord.Id, DefaultPermissions.Landlord.Select(c => Guid.Parse(c)).ToArray()); var portfolio = new Portfolio { Created = DateTime.Now, DisplayName = "Jons Portfolio", Name = "JonPreece-ABC123" }; await context.Portfolios.AddAsync(portfolio); await context.SaveChangesAsync(); var link = new ApplicationUserPortfolio { Created = DateTime.Now, PortfolioId = portfolio.Id, UserId = landlord.Id }; await context.ApplicationUserPortfolios.AddAsync(link); await context.SaveChangesAsync(); } if (!await userManager.Users.AnyAsync(c => c.UserName == "*****@*****.**")) { var landlord = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, FirstName = "Land", LastName = "Lord" }; await userManager.CreateAsync(landlord, "Password123"); await userManager.AddToRoleAsync(landlord, ApplicationRoles.Landlord); await userManager.SetUserPermissionsAsync(landlord.Id, DefaultPermissions.Landlord.Select(c => Guid.Parse(c)).ToArray()); var portfolio = new Portfolio { Created = DateTime.Now, DisplayName = "Landlord Portfolio", Name = "LandLord-ASD432" }; await context.Portfolios.AddAsync(portfolio); await context.SaveChangesAsync(); var link = new ApplicationUserPortfolio { Created = DateTime.Now, PortfolioId = portfolio.Id, UserId = landlord.Id }; await context.ApplicationUserPortfolios.AddAsync(link); await context.SaveChangesAsync(); } if (!await userManager.Users.AnyAsync(c => c.UserName == "*****@*****.**")) { var accountant = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, FirstName = "Account", LastName = "Ant" }; await userManager.CreateAsync(accountant, "Password123"); await userManager.AddToRoleAsync(accountant, ApplicationRoles.Accountant); await userManager.SetUserPermissionsAsync(accountant.Id, DefaultPermissions.Accountant.Select(c => Guid.Parse(c)).ToArray()); var portfolio = await context.Portfolios.FirstAsync(c => c.Name == "JonPreece-ABC123"); var link = new ApplicationUserPortfolio { Created = DateTime.Now, PortfolioId = portfolio.Id, UserId = accountant.Id }; await context.ApplicationUserPortfolios.AddAsync(link); await context.SaveChangesAsync(); } if (!await userManager.Users.AnyAsync(c => c.UserName == "*****@*****.**")) { var accountant = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, FirstName = "Other", LastName = "User" }; await userManager.CreateAsync(accountant, "Password123"); await userManager.AddToRoleAsync(accountant, ApplicationRoles.OtherUser); await userManager.SetUserPermissionsAsync(accountant.Id, DefaultPermissions.OtherUser.Select(c => Guid.Parse(c)).ToArray()); var portfolio = await context.Portfolios.FirstAsync(c => c.Name == "JonPreece-ABC123"); var link = new ApplicationUserPortfolio { Created = DateTime.Now, PortfolioId = portfolio.Id, UserId = accountant.Id }; await context.ApplicationUserPortfolios.AddAsync(link); await context.SaveChangesAsync(); } if (!await userManager.Users.AnyAsync(c => c.UserName == "*****@*****.**")) { var administrator = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, FirstName = "Agency", LastName = "Administrator" }; await userManager.CreateAsync(administrator, "Password123"); await userManager.AddToRoleAsync(administrator, ApplicationRoles.AgencyAdministrator); await userManager.SetUserPermissionsAsync(administrator.Id, DefaultPermissions.AgencyAdministrator.Select(c => Guid.Parse(c)).ToArray()); } if (!await userManager.Users.AnyAsync(c => c.UserName == "*****@*****.**")) { var accountant = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, FirstName = "Agency", LastName = "User" }; await userManager.CreateAsync(accountant, "Password123"); await userManager.AddToRoleAsync(accountant, ApplicationRoles.AgencyAdministrator); await userManager.SetUserPermissionsAsync(accountant.Id, DefaultPermissions.AgencyAdministrator.Select(c => Guid.Parse(c)).ToArray()); } }