public override void DisplayFooter(int option) { while (true) { if (option == 1) { Employee emp = AddEmployee(); if (ConfirmAdd(emp)) { int empID = UseDB.InsertEmployee(emp.FName, emp.LName); var daysOfWeek = new string[] { "DailyDefault", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; foreach (string day in daysOfWeek) { UseDB.InsertUpdateDailyAvailability(day, empID, new TimeSpan(8, 0, 0), new TimeSpan(17, 0, 0)); } } Console.Clear(); this.DisplayScreen(); } else if (option == 2) { int empID = RemoveEmployee(); if (ConfirmRemove(empID)) { UseDB.DeleteEmployee(empID); UseDB.DeleteDailyAvailability(empID); } Console.Clear(); this.DisplayScreen(); } } }
public void SetAvailability() { var daysOfWeek = new string[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; string empIDStr; int employeeID; string dayOfWeek; string startTime; string endTime; bool isValidDay = false; //Get Employee ID while (true) { Console.WriteLine("Enter the ID of the Employee whose availability you wish to modify: "); empIDStr = Console.ReadLine(); if (Int32.TryParse(empIDStr, out employeeID)) { break; } } //Get DayOfWeek to Modify while (true) { Console.WriteLine("Type the day of the week to change it's availability (i.e. 'Monday' no abbreviations): "); dayOfWeek = Console.ReadLine(); foreach (String day in daysOfWeek) { if (String.Equals(day, dayOfWeek, StringComparison.OrdinalIgnoreCase)) { dayOfWeek = day; isValidDay = true; break; } } if (!String.IsNullOrEmpty(dayOfWeek) && isValidDay) { break; } else { Console.WriteLine("Try again. Invalid Input"); } } //Get Beginning of Employee's Availability while (true) { string pattern = @"\d{1,2}\:\d{1,2}"; Console.WriteLine("What time does the Employee's availability begin on {0} (hh:mm)':", dayOfWeek); string hoursMinutes = Console.ReadLine(); if (Regex.IsMatch(hoursMinutes, pattern)) { string[] hhmmString = hoursMinutes.Split(':'); int hhInt = Int32.Parse(hhmmString[0]); int mmInt = Int32.Parse(hhmmString[1]); if ((hhInt >= 0 && hhInt <= 23) && (mmInt >= 0 && mmInt <= 59)) { //if (mmInt >= 0 && mmInt < 15) //{ // mmInt = 0; //} //else if (mmInt >= 15 && mmInt < 30) //{ // mmInt = 15; //} //else if (mmInt >= 30 && mmInt < 45) //{ // mmInt = 30; //} //else if (mmInt >= 45 && mmInt < 60) //{ // mmInt = 45; //} startTime = hoursMinutes; break; } } else { Console.WriteLine("Invalid Input. Try Again."); } } //Get the end of an Employee's Availability while (true) { string pattern = @"\d{1,2}\:\d{1,2}"; Console.WriteLine("What time does the Employee's availability end on {0} (hh:mm)':", dayOfWeek); string hoursMinutes = Console.ReadLine(); if (Regex.IsMatch(hoursMinutes, pattern)) { string[] hhmmString = hoursMinutes.Split(':'); int hhInt = Int32.Parse(hhmmString[0]); int mmInt = Int32.Parse(hhmmString[1]); if ((hhInt >= 0 && hhInt <= 23) && (mmInt >= 0 && mmInt <= 59)) { //if (mmInt >= 0 && mmInt < 15) //{ // mmInt = 0; //} //else if (mmInt >= 15 && mmInt < 30) //{ // mmInt = 15; //} //else if (mmInt >= 30 && mmInt < 45) //{ // mmInt = 30; //} //else if (mmInt >= 45 && mmInt < 60) //{ // mmInt = 45; //} endTime = hoursMinutes; break; } } else { Console.WriteLine("Invalid Input. Try Again."); } } UseDB.InsertUpdateDailyAvailability(dayOfWeek, employeeID, TimeSpan.Parse(startTime), TimeSpan.Parse(endTime)); Console.Clear(); this.DisplayScreen(); }