Exemple #1
0
        public async Task SeedAsync(PlanItDbContext dbContext, IServiceProvider serviceProvider)
        {
            if (dbContext == null)
            {
                throw new ArgumentNullException(nameof(dbContext));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            var logger = serviceProvider.GetService <ILoggerFactory>().CreateLogger(typeof(PlanItDbContextSeeder));

            var seeders = new List <ISeeder>
            {
                new UsersSeeder(),
                new RolesSeeder(),
                new ProgressStatusesSeeder(),
                new SubProjectTypesSeeder(),
            };

            foreach (var seeder in seeders)
            {
                await seeder.SeedAsync(dbContext, serviceProvider);

                await dbContext.SaveChangesAsync();

                logger.LogInformation($"Seeder {seeder.GetType().Name} done.");
            }
        }
        public async Task SeedAsync(PlanItDbContext dbContext, IServiceProvider serviceProvider)
        {
            var roleManager = serviceProvider.GetRequiredService <RoleManager <PlanItRole> >();

            await SeedRoleAsync(roleManager, GlobalConstants.CompanyOwnerRoleName);
            await SeedRoleAsync(roleManager, GlobalConstants.AdministratorRoleName);
            await SeedRoleAsync(roleManager, GlobalConstants.ProjectManagerRoleName);
            await SeedRoleAsync(roleManager, GlobalConstants.ClientRoleName);
            await SeedRoleAsync(roleManager, GlobalConstants.UserRoleName);
        }
Exemple #3
0
        public async Task SeedAsync(PlanItDbContext dbContext, IServiceProvider serviceProvider)
        {
            var userManager = serviceProvider.GetRequiredService <UserManager <PlanItUser> >();

            if (dbContext.Users.Count() == 1)
            {
                for (int i = 0; i < 15; i++)
                {
                    await SeedUserAsync(dbContext, userManager, i);
                }
            }
        }
        public async Task SeedAsync(PlanItDbContext dbContext, IServiceProvider serviceProvider)
        {
            if (dbContext.ProgressStatuses.Any())
            {
                return;
            }

            await dbContext.ProgressStatuses.AddRangeAsync(
                new ProgressStatus { Name = GlobalConstants.ProgressStatusNotAssigned },
                new ProgressStatus { Name = GlobalConstants.ProgressStatusAssigned },
                new ProgressStatus { Name = GlobalConstants.ProgressStatusInProgress },
                new ProgressStatus { Name = GlobalConstants.ProgressStatusCompleted },
                new ProgressStatus { Name = GlobalConstants.ProgressStatusSuspended },
                new ProgressStatus { Name = GlobalConstants.ProgressStatusApproving },
                new ProgressStatus { Name = GlobalConstants.ProgressStatusCanceled });
        }
        public async Task SeedAsync(PlanItDbContext dbContext, IServiceProvider serviceProvider)
        {
            if (dbContext.SubProjectTypes.Any())
            {
                return;
            }

            await dbContext.SubProjectTypes.AddRangeAsync(
                new SubProjectType { Name = "Architecture" },
                new SubProjectType { Name = "Contruction" },
                new SubProjectType { Name = "Electrical" },
                new SubProjectType { Name = "Hvac" },
                new SubProjectType { Name = "Water and Sewage" },
                new SubProjectType { Name = "Geodesy" },
                new SubProjectType { Name = "Geology" },
                new SubProjectType { Name = "Fire Safety" },
                new SubProjectType { Name = "Fire instalation" },
                new SubProjectType { Name = "Landscape" });
        }
Exemple #6
0
        private static async Task SeedUserAsync(PlanItDbContext dbContext, UserManager <PlanItUser> userManager, int i)
        {
            var user = new PlanItUser
            {
                UserName       = $"loafer{i}@aaa.bg",
                Email          = $"loafer{i}@aaa.bg",
                FirstName      = $"Ivan{i}",
                MiddleName     = $"Petrov{i}",
                LastName       = $"Georgiev{i}",
                CompanyName    = $"Project{i}X",
                JobTitle       = $"Engineer",
                PhoneNumber    = $"+35988797212{i}",
                EmailConfirmed = true,
            };

            var isExist = dbContext.Users.Any(u => u.Email == user.Email);

            if (!isExist)
            {
                var result = await userManager.CreateAsync(user, $"123456-{i}");

                if (result.Succeeded)
                {
                    // Assign to user roles
                    await userManager.AddToRoleAsync(user, GlobalConstants.UserRoleName);

                    // Assign to user claims - needed for the _loginPartial
                    string fullName = $"{user.FirstName} {user.LastName}";
                    await userManager.AddClaimAsync(user, new Claim("FullName", fullName));

                    await userManager.AddClaimAsync(user, new Claim("JobTitle", user.JobTitle));

                    await userManager.AddClaimAsync(user, new Claim("CompanyName", user.CompanyName));
                }
                else
                {
                    throw new Exception(string.Join(Environment.NewLine, result.Errors.Select(e => e.Description)));
                }
            }
        }
 public EfRepository(PlanItDbContext context)
 {
     this.Context = context ?? throw new ArgumentNullException(nameof(context));
     this.DbSet   = this.Context.Set <TEntity>();
 }
Exemple #8
0
 public EfDeletableEntityRepository(PlanItDbContext context)
     : base(context)
 {
 }