static void Main(string[] args) { var factory = new UserFactory(); Candidate candidate = factory.CreateCandidate(); candidate.DisplayData(); Employee employee = factory.CreateEmployee(); employee.DisplayData(); Console.WriteLine("\n"); var candidates = factory.GetUsers <Candidate>(new Faker() .Random.Int(Constants.MinUsersNumber, Constants.MaxUsersNumber)); var candidateReportGenerator = new CandidateReportGenerator(); candidateReportGenerator.CreateReport(candidates); Console.WriteLine("\n"); var employees = factory.GetUsers <Employee>(new Faker() .Random.Int(Constants.MinUsersNumber, Constants.MaxUsersNumber)); var employeeReportGenerator = new EmployeeReportGenerator(); employeeReportGenerator.CreateReport(employees); }