public static IResult <bool> SeedUsers(this Seeds seeds) => Do <bool> .TrySeed(seeds, (r) => { var context = seeds.Context; _config = seeds.GetDep <SeedsConfiguration>(); _userLoginConductor = seeds.GetDep <IUserLoginConductor <User> >(); // Validation Validate(); var existingUsers = context.Users.ToList(); foreach (var user in _users) { var userName = user.UserName.ToLower(); // If user already exists, skip if (existingUsers.Exists(u => u.UserName?.ToLower() == userName)) { continue; } _userLoginConductor .SetPassword(user, _config.DefaultUserPassword) .ThrowIfAnyErrors(); context.Users.Add(user); } context.SaveChanges(); return(true); }).Result;