public async Task <ActionResult <int> > SeedData() { if (await _context.TodoItems.CountAsync() > 0) { return(new BadRequestResult()); } var user1 = await _userService.CreateUser("andreas", "*****@*****.**", "This is a simple user", "pa55w0rd"); var user2 = await _userService.CreateUser("test", "*****@*****.**", "This is a test user", "foobar"); var user3 = await _userService.CreateUser("foo", "*****@*****.**", "Example user", "foo"); var tag1 = new Tag { Name = "test" }; var tag2 = new Tag { Name = "app" }; var tag3 = new Tag { Name = "tag3" }; var tag4 = new Tag { Name = "tag4" }; var items = new TodoItem[] { new TodoItem { Title = "Create a todo app", Description = "Implement the api", Completed = DateTime.Now.Subtract(TimeSpan.FromHours(1)), Owner = user1, TagsMapping = new List <TodoItemTag> { new TodoItemTag { Tag = tag1 }, new TodoItemTag { Tag = tag2 }, new TodoItemTag { Tag = tag4 }, }, }, new TodoItem { Title = "Take out the trash", Description = "Remember the paper trash as well", Completed = null, Owner = user3, TagsMapping = new List <TodoItemTag> { new TodoItemTag { Tag = tag3 }, new TodoItemTag { Tag = tag4 }, }, }, new TodoItem { Title = "Take out the trash", Description = "Remember the paper trash as well", Completed = null, Owner = user2, TagsMapping = new List <TodoItemTag> { new TodoItemTag { Tag = tag2 }, }, }, new TodoItem { Title = "Implement a frontend", Description = "Implement the frontend of the app", Completed = null, Owner = user1, TagsMapping = new List <TodoItemTag> { new TodoItemTag { Tag = tag1 }, new TodoItemTag { Tag = tag3 }, }, }, new TodoItem { Title = "Implement user auth", Description = "OAuth and all the stuff", Completed = null, Owner = user1, TagsMapping = new List <TodoItemTag> { }, } }; _context.AddRange(items); return(await _context.SaveChangesAsync()); }