/// <summary>
        /// Empty the database.
        /// </summary>
        /// <param name="roleManager">A role manager</param>
        /// <param name="userManager">An user manager</param>
        /// <param name="context">a db context</param>
        private static async Task ClearDatabase(RoleManager <IdentityRole> roleManager,
                                                UserManager <ApplicationUser> userManager, AppDataContext context)
        {
#if DEBUG
            context.RemoveRange(await context.Todo.ToListAsync());
            await context.SaveChangesAsync();

            foreach (var user in await userManager.Users.ToListAsync())
            {
                await userManager.DeleteAsync(user);
            }
            await context.SaveChangesAsync();

            foreach (var role in await roleManager.Roles.ToListAsync())
            {
                await roleManager.DeleteAsync(role);
            }
            await context.SaveChangesAsync();
#endif
        }
        /// <summary>
        /// Fills the database.
        /// </summary>
        /// <param name="roleManager">A role manager</param>
        /// <param name="userManager">An user manager</param>
        /// <param name="context">a db context</param>
        private static async Task FillDatabase(RoleManager <IdentityRole> roleManager,
                                               UserManager <ApplicationUser> userManager, AppDataContext context)
        {
            await CreateRoles(roleManager);

#if DEBUG
            var users = await CreateUsers(userManager);
            await CreateTodo(context, users);
#endif
        }