public static void InitialSeed(BillsPaymentSystemContext context) { UserGenerator.Seed(context, 20); var users = context.Users.ToList(); PaymentMethodGenerator.Seed(context, 30, users); }
private static void SeedPaymentMethods(BillsPaymentSystemContext ctx) { var users = ctx.Users.Select(u => u.UserId).ToArray(); var randomUsers = Enumerable.Range(0, 19).OrderBy(n => rnd.Next()).Take(10).ToArray(); int creditCardId = 1; int bankAccountId = 1; for (int i = 0; i < users.Length; i++) { var paymentMethod = PaymentMethodGenerator.NewPaymentMethod(ctx, users[i], creditCardId, bankAccountId); if (IsValid(paymentMethod)) { ctx.PaymentMethods.Add(paymentMethod); if (paymentMethod.BankAccountId == null) { creditCardId++; } else { bankAccountId++; } } } for (int i = 0; i < randomUsers.Length; i++) { var paymentMethod = PaymentMethodGenerator.NewPaymentMethod(ctx, users[randomUsers[i]], creditCardId, bankAccountId); if (IsValid(paymentMethod)) { ctx.PaymentMethods.Add(paymentMethod); if (paymentMethod.BankAccountId == null) { creditCardId++; } else { bankAccountId++; } } } ctx.SaveChanges(); }