using System.Globalization;
using System.Collections.Generic;
using Bogus.Extensions.UnitedStates;
Randomizer.Seed = new Random(1);
var customerFaker = new Faker<Customer>()
.RuleFor(c => c.FirstName, f => f.Person.FirstName)
.RuleFor(c => c.LastName, f => f.Person.LastName)
.RuleFor(c => c.Gender, f => f.Person.Gender)
.RuleFor(c => c.SSN, f => f.Person.Ssn())
.RuleFor(c => c.DateOfBirth, f => DateTime.Parse(f.Date.PastOffset(100, DateTime.Now.AddYears(-18)).Date.ToShortDateString()))
.RuleFor(c => c.Email, f => f.Person.Email);
var customers = customerFaker.Generate(100);
var genders = customers.GroupBy(a=> a.Gender).ToList();
foreach(var gender in genders)
Console.WriteLine($"{gender.Key}: {gender.Count()}");
var avgAge = gender.Average(a=> (DateTime.Today - a.DateOfBirth).Days);
Console.WriteLine($"Average Age: {avgAge/365.0}");
public string FirstName { get; set; }
public string LastName { get; set; }
public Bogus.DataSets.Name.Gender Gender { get; set; }
public string Email {get; set;}
public DateTime DateOfBirth { get; set; }
public string SSN {get; set;}