예제 #1
0
        public static int PopulateTestData(AppDbContext context)
        {
            var toDos = context.ToDoItems.ToList();

            foreach (var item in toDos)
            {
                context.Remove(item);
            }
            context.SaveChanges();

            Random    rand          = new Random(Guid.NewGuid().GetHashCode());
            const int numberOfItems = 100;

            for (int n = 0; n < numberOfItems; n++)
            {
                string userName = UserNames.GetRandomName();

                var item = new ToDoItem
                {
                    Description = TextGenerator.GetText(10, 25),
                    DueDate     = DateTime.Now.AddSeconds(rand.Next(60 * 60 * 4, 60 * 60 * 24 * 7)),
                    Hours       = rand.Next(1, 8),
                    Owner       = userName,
                    Title       = TextGenerator.GetText(3, 10),
                    Avatar      = $"https://api.adorable.io/avatars/285/{userName}.png"
                };

                context.Add(item);
            }
            context.SaveChanges();

            return(numberOfItems);
        }
예제 #2
0
        public static async Task <int> PopulateTestDataAsync(AppDbContext context, UserManager <User> userManager)
        {
            var toDos = context.ToDoItems.ToList();

            foreach (var item in toDos)
            {
                context.Remove(item);
            }
            context.SaveChanges();

            Random    rand          = new Random(Guid.NewGuid().GetHashCode());
            const int numberOfItems = 100;

            for (int n = 0; n < numberOfItems; n++)
            {
                var person = UserNames.GetRandomName();

                var user = await userManager.FindByEmailAsync(person.email);

                if (user == null)
                {
                    user = new User
                    {
                        Name     = person.name,
                        UserName = person.name.Replace(" ", ""),
                        Email    = person.email,
                    };

                    _ = await userManager.CreateAsync(user, "MySecretPassword1@");
                }

                var item = new ToDoItem
                {
                    Description = TextGenerator.GetText(10, 25),
                    DueDate     = DateTime.Now.AddSeconds(rand.Next(60 * 60 * 4, 60 * 60 * 24 * 7)),
                    Hours       = rand.Next(1, 8),
                    Owner       = user.Name,
                    OwnerId     = user.Id,
                    Title       = TextGenerator.GetText(3, 10),
                    Avatar      = $"https://api.adorable.io/avatars/285/{user.UserName}.png"
                };

                context.Add(item);
            }
            context.SaveChanges();

            return(numberOfItems);
        }