using System.Collections.Generic;
using System.Threading.Tasks;
static List<Person> people = Database.GetPeople();
public static void Main(string[] args)
Console.WriteLine("Program START");
Console.WriteLine("Select a command: list, add, edit, delete, listbyname, listbyid, listmen, listwomen, listbyscore, purgefailure, exit");
string command = Console.ReadLine();
command = command.ToLower();
Console.WriteLine("Program END");
static void List(string comm)
Console.WriteLine("=======PEOPLE=======");
peopleList = people.OrderBy(m => m.Id).ToList<Person>();
peopleList = people.OrderBy(m => m.Name).ToList<Person>();
peopleList = people.Where(m => m.Gender == "Male").ToList<Person>();
peopleList = people.Where(m => m.Gender == "Female").ToList<Person>();
peopleList = people.OrderBy(m => m.Score).ToList<Person>();
StringBuilder sb = new StringBuilder("");
sb.Append("Name".PadRight(namelength + 2));
sb.Append("Gender".PadRight(8));
foreach (var person in peopleList)
sb.Append(person.Id.ToString().PadRight(4));
sb.Append(person.Name.PadRight(namelength + 2));
sb.Append(person.Gender.PadRight(8));
sb.Append(person.Score.ToString());
var peopleList = people.OrderByDescending(m => m.Id).ToList<Person>().First();
int id = peopleList.Id + 1;
Console.WriteLine("Input Id# " + id.ToString());
bool proceedName = false;
while (proceedName == false)
Console.WriteLine("Input Name");
name = Console.ReadLine();
if (name.Trim().ToString() == "")
foreach (var pers in people)
if (pers.Name.ToUpper() == name.ToUpper())
Console.WriteLine("Name already in the data!");
var female = new string[]
bool proceedGender = false;
while (proceedGender == false)
Console.WriteLine("Input Gender");
gender = Console.ReadLine();
if (male.Contains(gender.ToLowerInvariant()))
else if (female.Contains(gender.ToLowerInvariant()))
Console.WriteLine("Invalid Input! Please choose from 'm', 'male', 'f', or 'female'");
bool proceedScore = false;
while (proceedScore == false)
Console.WriteLine("Input Score");
string iptScore = Console.ReadLine();
if (int.TryParse(iptScore, out score))
if (Convert.ToInt32(iptScore) <= 100 && Convert.ToInt32(iptScore) > 0)
score = Convert.ToInt32(iptScore);
Console.WriteLine("Please Enter a valid score! (0-100)");
Console.WriteLine("Please Enter a valid score! (0-100)");
Person person = new Person();
person.Id = Convert.ToInt32(id);
person.Score = Convert.ToInt32(score);
Console.WriteLine("Enter the Id of the record you want to Delete:");
string inputId = Console.ReadLine();
if (int.TryParse(inputId, out id))
id = Convert.ToInt32(inputId);
foreach (var person in people)
Console.WriteLine(name + " has been removed from the list");
Console.WriteLine("ID not found! No row was deleted!");
static void PurgeFailure()
public static List<Person> GetPeople()
var result = new List<Person>();
Id = 2, Name = "John Doe", Gender = "Male", Score = 60
Id = 3, Name = "Jane Doe", Gender = "Female", Score = 90
Id = 1, Name = "Juan Dela Cruz", Gender = "Male", Score = 95
Id = 4, Name = "Juanita Dela Cruz", Gender = "Female", Score = 90