initial commit

This commit is contained in:
2026-07-21 14:35:37 +07:00
commit 0027997ff9
798 changed files with 59083 additions and 0 deletions
@@ -0,0 +1,82 @@
using Indotalent.ConfigBackEnd.Extensions;
using Indotalent.Data.Entities;
using Microsoft.EntityFrameworkCore;
namespace Indotalent.Infrastructure.Database.Demo;
public static class CustomerContactSeeder
{
public static async Task GenerateDataAsync(AppDbContext context)
{
if (await context.CustomerContact.AnyAsync()) return;
var firstNames = new string[]
{
"James", "Mary", "Robert", "Patricia", "John", "Jennifer",
"Michael", "Linda", "David", "Elizabeth", "William", "Barbara",
"Richard", "Susan", "Joseph", "Jessica", "Thomas", "Sarah",
"Charles", "Karen"
};
var lastNames = new string[]
{
"Smith", "Johnson", "Williams", "Brown", "Jones", "Garcia",
"Miller", "Davis", "Rodriguez", "Martinez", "Hernandez", "Lopez",
"Gonzalez", "Wilson", "Anderson", "Thomas", "Taylor", "Moore",
"Jackson", "Martin"
};
var jobTitles = new string[]
{
"Corporate Wellness Director", "Employee Benefits Coordinator", "Head of Athletic Programs",
"Membership Relations Manager", "Spa & Esthetics Director", "Personal Training Lead",
"Health & Safety Compliance Officer", "VIP Guest Liaison", "Community Program Manager",
"Facility Operations Lead", "Wellness Program Coordinator", "Account Executive",
"Chief Experience Officer", "HR Wellness Specialist", "Executive Assistant",
"Lifestyle Consultant", "Senior Wellness Advisor", "Events & Retreats Manager",
"Member Success Specialist", "Regional Program Director"
};
var customerIds = await context.Customer.Select(x => x.Id).ToListAsync();
var random = new Random();
var entityName = nameof(CustomerContact);
foreach (var customerId in customerIds)
{
for (int i = 0; i < 3; i++)
{
var firstName = GetRandomString(firstNames, random);
var lastName = GetRandomString(lastNames, random);
var autoNo = await context.GenerateAutoNumberAsync(
entityName: entityName,
prefixTemplate: $"{entityName.ToShortNameConsonant(3)}/{{Year}}/"
);
var contact = new CustomerContact
{
Name = $"{firstName} {lastName}",
AutoNumber = autoNo,
CustomerId = customerId,
JobTitle = GetRandomString(jobTitles, random),
EmailAddress = $"{firstName.ToLower()}.{lastName.ToLower()}@wellness-partner.us",
PhoneNumber = GenerateRandomPhoneNumber(random)
};
await context.CustomerContact.AddAsync(contact);
}
}
await context.SaveChangesAsync();
}
private static string GetRandomString(string[] array, Random random)
{
return array[random.Next(array.Length)];
}
private static string GenerateRandomPhoneNumber(Random random)
{
return $"+1-{random.Next(200, 999)}-{random.Next(100, 999)}-{random.Next(1000, 9999)}";
}
}