Example #1
0
        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();
            }
        }
Example #2
0
        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());
            }
        }