static void AssignChoreToRoommate(ChoreRepository choreRepo, RoommateRepository roommateRepo) { List <Chore> chores = choreRepo.GetAll(); List <Roommate> roommates = roommateRepo.GetAll(); foreach (Chore c in chores) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.Write("Select chore: "); int choreChoice = int.Parse(Console.ReadLine()); foreach (Roommate r in roommates) { Console.WriteLine($"{r.Id} - {r.FirstName}"); } Console.Write("Select roommate: "); int roommateChoice = int.Parse(Console.ReadLine()); choreRepo.AssignChore(choreChoice, roommateChoice); Chore chore = choreRepo.GetById(choreChoice); Roommate roommate = roommateRepo.GetById(roommateChoice); Console.WriteLine($"{chore.Name} has been assigned to {roommate.FirstName}"); Console.Write("Press any key to continue"); Console.ReadKey(); }
static void AssignRoommateChore(ChoreRepository choreRepo, RoommateRepository roommateRepo) { Console.WriteLine("----------------------"); Console.WriteLine("Chores"); Console.WriteLine("----------------------"); List <Chore> chores = choreRepo.GetAll(); chores.ForEach(c => Console.WriteLine($"{c.Id} - {c.Name}")); Console.WriteLine(""); Console.Write("Enter chore Id: "); int choreId = int.Parse(Console.ReadLine()); List <Roommate> roommates = roommateRepo.GetAll(); Console.WriteLine(""); Console.WriteLine("----------------------"); Console.WriteLine("Roommates"); Console.WriteLine("----------------------"); roommates.ForEach(r => Console.WriteLine($"{r.Id} - {r.Firstname}")); Console.WriteLine(""); Console.Write("Enter roommate Id: "); int roommateId = int.Parse(Console.ReadLine()); Chore selectedChore = chores.Find(c => c.Id == choreId); Roommate selectedRoommate = roommates.Find(r => r.Id == roommateId); choreRepo.AssignChore(roommateId, choreId); Console.WriteLine($"{selectedRoommate.Firstname} is assign to {selectedChore.Name}"); ContinueMenu(); }
static void assignChore(ChoreRepository choreRepo, RoommateRepository roommateRepo) { List <Chore> proposedChores = choreRepo.GetAll(); foreach (Chore c in proposedChores) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.Write("Select the Id of the chore you want "); int chosenChore = int.Parse(Console.ReadLine()); Console.WriteLine("-------------------------"); List <Roommate> proposedRoommates = roommateRepo.GetAll(); foreach (Roommate r in proposedRoommates) { Console.WriteLine($"{r.Id}) {r.Firstname} {r.Lastname}"); } Console.Write("Select the Id of the roommate to assign "); int chosenRoommate = int.Parse(Console.ReadLine()); choreRepo.AssignChore(chosenRoommate, chosenChore); }
static void Main(string[] args) { RoomRepository roomRepo = new RoomRepository(CONNECTION_STRING); ChoreRepository choreRepo = new ChoreRepository(CONNECTION_STRING); RoommateRepository roommateRepo = new RoommateRepository(CONNECTION_STRING); bool runProgram = true; while (runProgram) { string selection = GetMenuSelection(); switch (selection) { case ("Show all rooms"): List <Room> rooms = roomRepo.GetAll(); foreach (Room r in rooms) { Console.WriteLine($"{r.Name} has an Id of {r.Id} and a max occupancy of {r.MaxOccupancy}"); } Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Search for room"): Console.Write("Room Id: "); int id = int.Parse(Console.ReadLine()); Room room = roomRepo.GetById(id); Console.WriteLine($"{room.Id} - {room.Name} Max Occupancy({room.MaxOccupancy})"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Add a room"): Console.Write("Room name: "); string name = Console.ReadLine(); Console.Write("Max occupancy: "); int max = int.Parse(Console.ReadLine()); Room roomToAdd = new Room() { Name = name, MaxOccupancy = max }; roomRepo.Insert(roomToAdd); Console.WriteLine($"{roomToAdd.Name} has been added and assigned an Id of {roomToAdd.Id}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Update a room"): List <Room> roomOptions = roomRepo.GetAll(); foreach (Room r in roomOptions) { Console.WriteLine($"{r.Id} - {r.Name} Max Occupancy({r.MaxOccupancy})"); } Console.Write("Which room would you like to update? "); int selectedRoomId = int.Parse(Console.ReadLine()); Room selectedRoom = roomOptions.FirstOrDefault(r => r.Id == selectedRoomId); Console.Write("New Name: "); selectedRoom.Name = Console.ReadLine(); Console.Write("New Max Occupancy: "); selectedRoom.MaxOccupancy = int.Parse(Console.ReadLine()); roomRepo.Update(selectedRoom); Console.WriteLine($"Room has been successfully updated"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Show all chores"): List <Chore> chores = choreRepo.GetAll(); foreach (Chore c in chores) { Console.WriteLine($"{c.Name} has an Id of {c.Id}"); } ; Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Search for a chore"): Console.Write("Chore Id: "); int choreId = int.Parse(Console.ReadLine()); Chore chore = choreRepo.GetById(choreId); Console.WriteLine($"{chore.Id} - {chore.Name}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Add a chore"): Console.Write("Chore name: "); string choreName = Console.ReadLine(); Chore choreToAdd = new Chore() { Name = choreName, }; choreRepo.Insert(choreToAdd); Console.WriteLine($"{choreToAdd.Name} has been added and assigned an Id of {choreToAdd.Id}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Search for roommate"): Console.Write("Roommate Id: "); int roommateId = int.Parse(Console.ReadLine()); Roommate roommate = roommateRepo.GetById(roommateId); Console.WriteLine($"{roommate.FirstName} pays {roommate.RentPortion}% of rent to occupy the {roommate.Room.Name}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Show all unassigned chores"): List <Chore> unassignedChores = choreRepo.UnassignedChores(); foreach (Chore c in unassignedChores) { Console.WriteLine($"ID: {c.Id} - Chore: {c.Name}"); } ; Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Assign chore to roommate"): List <Chore> choresToAssign = choreRepo.GetAll(); List <Roommate> roomatesToAssign = roommateRepo.GetAll(); Console.WriteLine("Chore List:"); Console.WriteLine("---------------------"); foreach (Chore c in choresToAssign) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.WriteLine(""); Console.Write("Which chore would you like to assign: "); int choreChoice = int.Parse(Console.ReadLine()); Console.WriteLine("Roommate List:"); Console.WriteLine("---------------------"); foreach (Roommate r in roomatesToAssign) { Console.WriteLine($"{r.Id} - {r.FirstName} {r.LastName}"); } Console.WriteLine(""); Console.Write($"Which roommate would you like to assign to chore #{choreChoice}? "); int roommateChoice = int.Parse(Console.ReadLine()); choreRepo.AssignChore(roommateChoice, choreChoice); Roommate roomie = roommateRepo.GetById(roommateChoice); Chore chorie = choreRepo.GetById(choreChoice); Console.WriteLine($"The '{chorie.Name}' chore was assigned to {roomie.FirstName} {roomie.LastName}!"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Get Chore Count"): List <ChoreCount> choreCount = choreRepo.GetChoreCounts(); foreach (ChoreCount c in choreCount) { Console.WriteLine($"{c.Name}: {c.NumberOfChores}"); } ; Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Exit"): runProgram = false; break; } } }
static void Main(string[] args) { RoomRepository roomRepo = new RoomRepository(CONNECTION_STRING); ChoreRepository choreRepo = new ChoreRepository(CONNECTION_STRING); RoommateRepository roommateRepo = new RoommateRepository(CONNECTION_STRING); bool runProgram = true; while (runProgram) { string selection = GetMenuSelection(); switch (selection) { case ("Show all rooms"): List <Room> rooms = roomRepo.GetAllRooms(); foreach (Room r in rooms) { Console.WriteLine($"{r.Id} - {r.Name} Max Occupancy({r.MaxOccupancy})"); } Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Search for room"): Console.Write("Room Id: "); int id = int.Parse(Console.ReadLine()); Room room = roomRepo.GetById(id); Console.WriteLine($"{room.Id} - {room.Name} Max Occupancy({room.MaxOccupancy})"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Add a room"): Console.Write("Room name: "); string name = Console.ReadLine(); Console.Write("Max occupancy: "); int max = int.Parse(Console.ReadLine()); Room roomToAdd = new Room() { Name = name, MaxOccupancy = max }; roomRepo.Insert(roomToAdd); Console.WriteLine($"{roomToAdd.Name} has been added and assigned an Id of {roomToAdd.Id}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Show all chores"): List <Chore> chores = choreRepo.GetAllChores(); foreach (Chore c in chores) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Search for chore"): Console.Write("Chore Id: "); int choreId = int.Parse(Console.ReadLine()); Chore chore = choreRepo.GetById(choreId); Console.WriteLine($"{chore.Id} - {chore.Name}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Add a chore"): Console.Write("Chore Name"); string choreName = Console.ReadLine(); Chore choreToAdd = new Chore() { Name = choreName }; choreRepo.Insert(choreToAdd); Console.WriteLine($"{choreToAdd.Name} has been added and assigned an Id of {choreToAdd.Id}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Show unassigned chores"): List <Chore> unassignedChores = choreRepo.GetUnassignedChores(); foreach (Chore c in unassignedChores) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Assign a chore"): Console.WriteLine(); List <Chore> choreToAssign = choreRepo.GetUnassignedChores(); Console.WriteLine(" - - - Currently unassigned chores - - - "); foreach (Chore c in choreToAssign) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.Write(" \n Which chore would you like to assign? "); int choreChosen = int.Parse(Console.ReadLine()); Console.WriteLine(); List <Roommate> roommateToAssign = roommateRepo.GetAllRoommates(); foreach (Roommate r in roommateToAssign) { Console.WriteLine($"{r.Id} - {r.FirstName}"); } Console.Write(" \n Which roommate would you like to assign the chore to? "); int roommateChosen = int.Parse(Console.ReadLine()); Console.WriteLine(); choreRepo.AssignChore(roommateChosen, choreChosen); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Show chore counts"): List <string> choreCounts = choreRepo.GetChoreCounts(); foreach (string c in choreCounts) { Console.WriteLine(c); } Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Update a room"): List <Room> roomOptions = roomRepo.GetAllRooms(); foreach (Room r in roomOptions) { Console.WriteLine($"{r.Id} - {r.Name} Max Occupancy({r.MaxOccupancy})"); } Console.Write("Which room would you like to update? "); int selectedRoomId = int.Parse(Console.ReadLine()); Room selectedRoom = roomOptions.FirstOrDefault(r => r.Id == selectedRoomId); Console.Write("New Name: "); selectedRoom.Name = Console.ReadLine(); Console.Write("New Max Occupancy: "); selectedRoom.MaxOccupancy = int.Parse(Console.ReadLine()); roomRepo.Update(selectedRoom); Console.WriteLine($"Room has been successfully updated"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Exit"): runProgram = false; break; } } }
static void Main(string[] args) { RoomRepository roomRepo = new RoomRepository(CONNECTION_STRING); ChoreRepository choreRepo = new ChoreRepository(CONNECTION_STRING); RoommateRepository rmRepo = new RoommateRepository(CONNECTION_STRING); bool runProgram = true; while (runProgram) { string selection = GetMenuSelection(); switch (selection) { case ("Show all rooms"): ListAllRooms(); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Show all chores"): ListAllChores(); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Search for room"): Console.Write("Room Id: "); int id = int.Parse(Console.ReadLine()); Room room = roomRepo.GetById(id); Console.WriteLine($"{room.Id} - {room.Name} Max Occupancy({room.MaxOccupancy})"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Search for chore"): Console.WriteLine("Chore Id: "); int choreId = int.Parse(Console.ReadLine()); Chore chore = choreRepo.GetById(choreId); Console.WriteLine($"{chore.Id} - {chore.Name}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Search for a roommate"): Console.WriteLine("Roommate Id: "); int roommateId = int.Parse(Console.ReadLine()); Roommate roommate = rmRepo.GetById(roommateId); Console.WriteLine($"{roommate.Id} - {roommate.FirstName} {roommate.LastName} - {roommate.Room.Name}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Add a room"): Console.Write("Room name: "); string name = Console.ReadLine(); Console.Write("Max occupancy: "); int max = int.Parse(Console.ReadLine()); Room roomToAdd = new Room() { Name = name, MaxOccupancy = max }; roomRepo.Insert(roomToAdd); Console.WriteLine($"{roomToAdd.Name} has been added and assigned an Id of {roomToAdd.Id}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Update a room"): List <Room> roomOptions = ListAllRooms("return"); Console.Write("Which room would you like to update? "); int selectedRoomId = int.Parse(Console.ReadLine()); Room selectedRoom = roomOptions.FirstOrDefault(r => r.Id == selectedRoomId); Console.Write("New Name: "); selectedRoom.Name = Console.ReadLine(); Console.Write("New Max Occupancy: "); selectedRoom.MaxOccupancy = int.Parse(Console.ReadLine()); roomRepo.Update(selectedRoom); Console.WriteLine($"Room has been successfully updated"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Delete a room"): ListAllRooms(); Console.Write("Which room would you like to delete? "); int deletedRoomId = int.Parse(Console.ReadLine()); roomRepo.Delete(deletedRoomId, "Room"); Console.WriteLine($"Room has been successfully deleted"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Add a chore"): Console.WriteLine("Chore Name: "); string choreName = Console.ReadLine(); Chore choreToAdd = new Chore() { Name = choreName }; choreRepo.Insert(choreToAdd); Console.WriteLine($"{choreToAdd.Name} has been added and assigned an Id of {choreToAdd.Id}"); Console.WriteLine("Press any key to continue"); Console.ReadKey(); break; case ("Update a chore"): List <Chore> choreOptions = ListAllChores("return"); Console.Write("Which chore would you like to update? "); int selectedChoreId = int.Parse(Console.ReadLine()); Chore selectedChore = choreOptions.FirstOrDefault(r => r.Id == selectedChoreId); Console.Write("New Name: "); selectedChore.Name = Console.ReadLine(); choreRepo.Update(selectedChore); Console.WriteLine($"Chore has been successfully updated"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Delete a chore"): ListAllChores(); Console.Write("Which chore would you like to delete? "); int deletedChoreId = int.Parse(Console.ReadLine()); choreRepo.Delete(deletedChoreId); Console.WriteLine($"Chore has been successfully deleted"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Show all unassigned chores"): List <Chore> unassignedChores = choreRepo.GetUnassignedChores(); foreach (Chore c in unassignedChores) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Assign chore to roommate"): ListAllChores(); Console.WriteLine("Select the id of the chore you want to assign."); int assignChoreId = int.Parse(Console.ReadLine()); List <Roommate> roommates = rmRepo.GetAll(); foreach (Roommate r in roommates) { Console.WriteLine($"{r.Id} - {r.FirstName} {r.LastName})"); } Console.WriteLine("Select the id of the roommate you want to assign the chore to."); int selectedRmId = int.Parse(Console.ReadLine()); choreRepo.AssignChore(selectedRmId, assignChoreId); Console.WriteLine("Chore assigned"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Check the chore assignment count"): List <ChoreCount> counts = choreRepo.GetChoreCounts(); foreach (ChoreCount count in counts) { Console.WriteLine($"{count.Name}: {count.Count} chores"); } Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Exit"): runProgram = false; break; } } }
static void Main(string[] args) { RoomRepository roomRepo = new RoomRepository(CONNECTION_STRING); ChoreRepository choreRepo = new ChoreRepository(CONNECTION_STRING); RoommateRepository roommateRepo = new RoommateRepository(CONNECTION_STRING); bool runProgram = true; while (runProgram) { string selection = GetMenuSelection(); switch (selection) { case ("Show all rooms"): Console.Clear(); List <Room> rooms = roomRepo.GetAll(); foreach (Room r in rooms) { Console.WriteLine($"{r.Id} - {r.Name} Max Occupancy({r.MaxOccupancy})"); } Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Search for room"): Console.Clear(); Console.Write("Room Id: "); int id = int.Parse(Console.ReadLine()); Room room = roomRepo.GetById(id); Console.WriteLine($"{room.Id} - {room.Name} Max Occupancy({room.MaxOccupancy})"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Add a room"): Console.Clear(); Console.Write("Room name: "); string name = Console.ReadLine(); Console.Write("Max occupancy: "); int max = int.Parse(Console.ReadLine()); Room roomToAdd = new Room() { Name = name, MaxOccupancy = max }; roomRepo.Insert(roomToAdd); Console.Clear(); Console.WriteLine($"{roomToAdd.Name} has been added and assigned an Id of {roomToAdd.Id}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Show all chores"): Console.Clear(); List <Chore> chores = choreRepo.GetAll(); foreach (Chore c in chores) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.WriteLine("Press any key to continue"); Console.ReadLine(); break; case ("Search for chore"): Console.Clear(); Console.Write("Chore Id: "); int choreId = int.Parse(Console.ReadLine()); Chore chore = choreRepo.GetById(choreId); Console.WriteLine($"{chore.Id} - {chore.Name}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Add a chore"): Console.Clear(); Console.Write("Chore Name: "); string ChoreName = Console.ReadLine(); Chore choreToAdd = new Chore() { Name = ChoreName }; choreRepo.Insert(choreToAdd); Console.Clear(); Console.WriteLine($"{choreToAdd.Name} has been added and assigned an Id of {choreToAdd.Id}"); Console.WriteLine("Press any key to continue"); Console.ReadKey(); break; case ("Get Unassigned Chores"): Console.Clear(); PrintUnassignedChores(choreRepo); Console.WriteLine("Press any key to continue"); Console.ReadKey(); break; case ("Search Roommate"): Console.Clear(); Console.Write("Roommate Id: "); int roommateId = int.Parse(Console.ReadLine()); Roommate roommate = roommateRepo.GetById(roommateId); Console.WriteLine($"{roommate.Firstname} - Rent Portion: {roommate.RentPortion} - Room: {roommate.Room.Name}"); Console.WriteLine("Press any key to continue"); Console.ReadKey(); break; case ("Assign Chore"): Console.Clear(); PrintUnassignedChores(choreRepo); Console.Write("Select an option: "); int chosenChoreId = int.Parse(Console.ReadLine()); Console.Clear(); PrintRoommates(roommateRepo); Console.Write("Select an option: "); int chosenRoommateId = int.Parse(Console.ReadLine()); Chore chosenChore = choreRepo.GetById(chosenChoreId); Roommate chosenRoomate = roommateRepo.GetById(chosenRoommateId); RoommateChore assignedChore = choreRepo.AssignChore(chosenRoommateId, chosenChoreId); Console.Clear(); Console.WriteLine($"{chosenRoomate.Firstname} has been assigned: {chosenChore.Name} - id: {assignedChore.Id}"); Console.WriteLine("Press any key to continue"); Console.ReadKey(); break; case ("Exit"): runProgram = false; break; } } }