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 searchForChore(ChoreRepository choreRepo) { Console.Write("Chore Id: "); int choreId = int.Parse(Console.ReadLine()); Chore chore = choreRepo.GetById(choreId); Console.WriteLine($"{chore.Name} - {chore.Id}"); Console.Write("Press any key to continue"); Console.ReadKey(); }
static void DeleteChore() { string choreResponse; ChoreRepository choreRepo = new ChoreRepository(CONNECTION_STRING); ListChores(); Console.WriteLine("Enter the ID of the Chore to delete: "); choreResponse = Console.ReadLine(); Chore chore = choreRepo.GetById(Int32.Parse(choreResponse)); if (choreResponse != "") { choreRepo.Delete(chore.Id); Console.WriteLine("Chore has been deleted."); ListChores(); } }
static void EditChore() { string choreResponse; ChoreRepository choreRepo = new ChoreRepository(CONNECTION_STRING); ListChores(); Console.WriteLine("Enter the ID of the Chore to edit: "); Chore chore = choreRepo.GetById(Int32.Parse(Console.ReadLine())); Console.WriteLine("Enter the new name of the chore or press ENTER to cancel: "); choreResponse = Console.ReadLine(); if (choreResponse != "") { chore.Name = choreResponse; choreRepo.Update(chore); Console.WriteLine("Chore has been updated."); ListChores(); } }
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) { //room case commands 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 ("Delete a room"): List <Room> deleteOptions = roomRepo.GetAll(); foreach (Room d in deleteOptions) { Console.WriteLine($"{d.Id} - {d.Name} Max Occupancy({d.MaxOccupancy})"); } Console.WriteLine("Please note you may not delete a room if people are living in it"); Console.Write("Which empty room would you like to delete?"); int deletedRoomId = int.Parse(Console.ReadLine()); Room deletedRoom = deleteOptions.FirstOrDefault(d => d.Id == deletedRoomId); roomRepo.Delete(deletedRoomId); Console.WriteLine($"Room has been successful deleted"); Console.Write("Press any key to continue"); Console.ReadKey(); break; //chore case commands 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 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 ("Update a chore"): List <Chore> choreOptions = choreRepo.GetAll(); foreach (Chore c in choreOptions) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.Write("Which chore would you like to update? "); int selectedChoreId = int.Parse(Console.ReadLine()); Chore selectedChore = choreOptions.FirstOrDefault(c => c.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"): List <Chore> deleteChores = choreRepo.GetAll(); foreach (Chore d in deleteChores) { Console.WriteLine($"{d.Id} - {d.Name}"); } Console.Write("Which chore would you like to delete?"); int deletedChoreId = int.Parse(Console.ReadLine()); Chore deletedChore = deleteChores.FirstOrDefault(d => d.Id == deletedChoreId); choreRepo.Delete(deletedChoreId); Console.WriteLine("Chore has been successful deleted"); Console.Write("Press any key to continue"); Console.ReadKey(); break; //select a roommate by id case ("Search for roommate"): Console.Write("Roommate Id: "); int roommateId = int.Parse(Console.ReadLine()); Roommate roommate = roommateRepo.GetById(roommateId); Console.WriteLine($"{roommate.Id} - {roommate.FirstName} {roommate.LastName} pays {roommate.RentPortion}% of the rent. They live in {roommate.Room.Name}."); 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.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.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.GetAll(); 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.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 ("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.Write("Press any key to continue"); Console.ReadKey(); break; case ("Search for roommate"): Console.WriteLine("Roommate Id: "); int roommateId = int.Parse(Console.ReadLine()); Roommate roommate = roommateRepo.GetById(roommateId); Console.WriteLine($"{roommate.Firstname}:"); Console.WriteLine($" Rent Portion:{roommate.RentPortion}"); Console.WriteLine($" Room: {roommate.Room.Name}"); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Unassigned chores"): List <Chore> unassignedchores = choreRepo.UnassignedChores(); foreach (Chore c in unassignedchores) { Console.WriteLine(c.Name); } Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Assign chore to roommate"): List <Chore> choreList = choreRepo.GetAll(); List <Roommate> roommateList = roommateRepo.GetAll(); foreach (Chore c in choreList) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.WriteLine("Please enter the id of the chore."); int choreIdToAdd = int.Parse(Console.ReadLine()); Chore chore1 = choreRepo.GetById(choreIdToAdd); foreach (Roommate r in roommateList) { Console.WriteLine($"{r.Id} - {r.Firstname} {r.Lastname}"); } Console.WriteLine("Please enter the id of the roommate."); int roommateIdToAdd = int.Parse(Console.ReadLine()); Roommate roommate1 = roommateRepo.GetById(roommateIdToAdd); choreRepo.assignChore(roommateIdToAdd, choreIdToAdd); Console.WriteLine($"{roommate1.Firstname} {roommate1.Lastname} has been assigned to {chore1.Name}"); 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 ("Delete room"): List <Room> allRooms = roomRepo.GetAll(); foreach (Room r in allRooms) { Console.WriteLine($"{r.Id} - {r.Name}"); } Console.WriteLine("Selecet the Id of the room to delete."); int roomToDelete = int.Parse(Console.ReadLine()); roomRepo.Delete(roomToDelete); break; case ("Update a chore"): List <Chore> choreOptions = choreRepo.GetAll(); foreach (Chore c in choreOptions) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.WriteLine("Which chore would you like to update?"); int selectedChoreId = int.Parse(Console.ReadLine()); Chore selectedChore = choreOptions.FirstOrDefault(c => c.Id == selectedChoreId); Console.WriteLine("New Name: "); selectedChore.Name = Console.ReadLine(); choreRepo.Update(selectedChore); Console.WriteLine("Chore has been successfully updates."); Console.Write("Press any key to continue"); Console.ReadKey(); break; case ("Delete chore"): List <Chore> allChore = choreRepo.GetAll(); foreach (Chore c in allChore) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.WriteLine("Selecet the Id of the chore to delete."); int choreToDelete = int.Parse(Console.ReadLine()); choreRepo.Delete(choreToDelete); 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); 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); // Print out name of INSERT room - Id that was set by the INSERT method 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 ("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 ("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 ("Update a chore"): List <Chore> choreOptions = choreRepo.GetAll(); foreach (Chore c in choreOptions) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.Write("Which chore would you like to update? "); int selectedChoreId = int.Parse(Console.ReadLine()); Chore selectedChore = choreOptions.FirstOrDefault(c => c.Id == selectedChoreId); Console.Write("New Chore: "); 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 room"): List <Room> deleteRoomOptions = roomRepo.GetAll(); foreach (Room r in deleteRoomOptions) { Console.WriteLine($"{r.Id} - {r.Name} Max Occupancy({r.MaxOccupancy})"); } Console.Write("Which room would you like to delete? "); int selectedRoomToDeleteId = int.Parse(Console.ReadLine()); Room selectedRoomToDelete = deleteRoomOptions.FirstOrDefault(r => r.Id == selectedRoomToDeleteId); roomRepo.Delete(selectedRoomToDeleteId); break; case ("Delete a chore"): List <Chore> deleteChoreOptions = choreRepo.GetAll(); foreach (Chore c in deleteChoreOptions) { Console.WriteLine($"{c.Id} - {c.Name}"); } Console.Write("Which chore would you like to delete? "); int selectedChoreToDeleteId = int.Parse(Console.ReadLine()); Chore selectedChoreToDelete = deleteChoreOptions.FirstOrDefault(c => c.Id == selectedChoreToDeleteId); choreRepo.Delete(selectedChoreToDeleteId); 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 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 ("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; } } }