public void AddEmployee() { do { if (Lawyer.GetYesNo("Do you want to see all existing employees?")) { ReadEmployees(); } string firstname = Lawyer.GetResponse("What is the first name of this employee?"); string lastname = Lawyer.GetResponse("What is the last name of this employee?"); while (Reader.DoesEmployeeExist(firstname, lastname)) { Console.WriteLine("Sorry but that employee already exists, try again"); firstname = Lawyer.GetResponse("What is the first name of this employee?"); lastname = Lawyer.GetResponse("What is the last name of this employee?"); } int vacations = Lawyer.GetInt("How many vacation days does this employee have for the year?"); if (Lawyer.GetYesNo("Are you sure you want to add " + firstname + " " + lastname + " to the employees")) { Creator.AddEmployee(firstname, lastname, vacations); NumberOfEmployees++; Console.Clear(); } Console.Clear(); } while (Lawyer.GetYesNo("Do you want to add another employee?")); }
public void UpdateVacations() { do { Employee employee = GetEmployee(); //int employeeid = Reader.GetEmployeeId(employee.FirstName, employee.LastName); if (Lawyer.GetYesNo("Do you want to add vacations?")) { int days = Lawyer.GetInt("How many days do you want to add?"); if (Lawyer.GetYesNo("Are you sure you want to set vacations from " + Reader.GetNumberOfVacations(employee.ID) + " to be " + (Reader.GetNumberOfVacations(employee.ID) + days) + "?")) { Updater.AddVacationsByEmployeeID(employee.ID, days); Console.Clear(); } } else if (Lawyer.GetYesNo("Do you want to take off vacations?")) { int days = Lawyer.GetInt("How may days do you want to subtract?"); if (Lawyer.GetYesNo("Are you sure you want to set vacations from " + Reader.GetNumberOfVacations(employee.ID) + " to be " + (Reader.GetNumberOfVacations(employee.ID) - days) + "?")) { Updater.RemoveVacationsByEmployeeID(employee.ID, days); Console.Clear(); } } } while (Lawyer.GetYesNo("Do you want to update another employees number of vacation days?")); }
static void Main(string[] args) { Schedule schedule = new Schedule(); Lawyer lawyer = new Lawyer(); Manager manager = new Manager(); if (lawyer.GetYesNo("Do you want to build the schedule?")) { manager.MakeSchedule(); } do { if (lawyer.GetYesNo("Do you want to Add a record?")) { Create(schedule, lawyer); } else if (lawyer.GetYesNo("Do you want to update any records?")) { Update(schedule, lawyer); } else { Console.WriteLine("Okay then"); } } while (lawyer.GetYesNo("Do you want to add anything else to the tables")); Console.WriteLine("Program end"); Console.ReadLine(); }
/// <summary> /// through multiple yes no questions to call the creator to create records /// </summary> /// <param name="schedule">schedule object to be used to call the schedule methods</param> /// <param name="lawyer">lawyer object to be used to call lawyer methods for user interaction</param> public static void Create(Schedule schedule, Lawyer lawyer) { do { if (lawyer.GetYesNo("Do you want to Add an employee?")) { schedule.AddEmployee(); } else if (lawyer.GetYesNo("Do you want to add vacation days for an employee?")) { Employee employee = GetEmployee(lawyer); schedule.AddVacation(employee); } else if (lawyer.GetYesNo("Do you want to add off days for an employee?")) { Employee employee = GetEmployee(lawyer); schedule.AddOffDay(employee); } else if (lawyer.GetYesNo("Do you want to add sick days for an employee?")) { Employee employee = GetEmployee(lawyer); schedule.AddSickDay(employee); } else if (lawyer.GetYesNo("Do you want to set workable days for an employee?")) { schedule.SetWorkableDays(); } else if (lawyer.GetYesNo("Do you want to set workable late days for an employee")) { schedule.SetWorkableLateDays(); } } while (lawyer.GetYesNo("Do you want to add more records?")); }
private void ReadEmployees() { foreach (var employee in Reader.Employees) { Console.Write("First Name: " + employee.FirstName + " Last Name: " + employee.LastName + " "); if (!(Lawyer.GetYesNo("Do you want see another employee?"))) { break; } Console.Clear(); } }
private List <DateTime> GetDates(string word, int givenyear, int givenmonth) { List <DateTime> dates = new List <DateTime>(); int year = givenyear; int month = givenmonth; int startday = Lawyer.GetDay("What day of the month will this " + word + " start?", month, year); int endday = Lawyer.GetDay("What day of the month will this " + word + " end?", month, year); DateTime startdate = new DateTime(year, month, startday); DateTime enddate = new DateTime(year, month, endday); dates.Add(startdate); dates.Add(enddate); return(dates); }
private List <DateTime> GetDates(string word) { List <DateTime> dates = new List <DateTime>(); int year = Lawyer.GetYear("What year is this " + word + " be taking place?"); int month = Lawyer.GetMonth("What numerical month is this " + word + " be taking place?"); int startday = Lawyer.GetDay("What day of the month will this " + word + " start?", month, year); int endday = Lawyer.GetDay("What day of the month will this " + word + " end?", month, year); DateTime startdate = new DateTime(year, month, startday); DateTime enddate = new DateTime(year, month, endday); dates.Add(startdate); dates.Add(enddate); return(dates); }
/// <summary> /// through multiple yes no questions to call the updater methods to updater records /// </summary> /// <param name="schedule">schedule object to be used to call the schedule methods</param> /// <param name="lawyer">lawyer object to be used to call lawyer methods for user interaction</param> public static void Update(Schedule schedule, Lawyer lawyer) { do { if (lawyer.GetYesNo("Do you want to update workable days for an employee?")) { schedule.UpdateWorkableDays(); } else if (lawyer.GetYesNo("Do you want to update number of vacation days for an employee?")) { schedule.UpdateVacations(); } } while (lawyer.GetYesNo("Do you want to update any other records?")); }
private Employee GetEmployee() { if (Lawyer.GetYesNo("Do you know the last name of the employee?")) { string lastname = Lawyer.GetResponse("What is the last name of the employee?"); while (!(Reader.DoesEmployeeExist(lastname))) { lastname = Lawyer.GetResponse("Sorry no employee under that last name exist.\nWhat is the name of the employee?"); } foreach (var employee in Reader.Employees) { if (employee.LastName == lastname && Reader.GetNumberOfEmployeeWSameName(lastname) == 1) { return(employee); } else if (employee.LastName == lastname) { string firstletter = Lawyer.GetResponse("Sorry there are two or more employees with that last name.\nWhat is the first letter of the employees name"); if (employee.FirstName[0].ToString() == firstletter) { return(employee); } else { Console.WriteLine("Guess you are looking for the other"); continue; } } } } foreach (var employee in Reader.Employees) { Console.Write("First Name: " + employee.FirstName + " \nLast Name: " + employee.LastName + " "); if ((Lawyer.GetYesNo("Is this the employee you want to use?"))) { return(employee); } Console.Clear(); } Employee bob = new Employee("Bob", "Bob", 10000); return(bob); }
public void MakeSchedule() { int year = Lawyer.GetYear("What year is this schedule being made?"); int month = Lawyer.GetMonth("What month of the year: " + year + " do you want to make the schedule for?"); DateTime date = new DateTime(year, month, 1); string filename = FormatMonth(date.Month.ToString()) + " " + year.ToString(); if (Reader.DoesScheduledMonthExist(month, year)) { if (Lawyer.GetYesNo("Do you want to override the current schedule of " + FormatMonth(date.Month.ToString()) + " " + year.ToString() + "?")) { WriteFile(date, filename); } } else { WriteFile(date, filename); Creator.AddScheduledMonth(month, year); } }
public void SetWorkableDays() { do { Employee employee = GetEmployee(); int employeeid = Reader.GetEmployeeId(employee.FirstName, employee.LastName); while (Reader.DoesWorkablebyEIDExist(employeeid)) { Console.WriteLine("Sorry but that employee's workable days have been set, try a different employee."); employee = GetEmployee(); employeeid = Reader.GetEmployeeId(employee.FirstName, employee.LastName); } int mon = 0; int tues = 0; int wed = 0; int thurs = 0; int fri = 0; bool monFact = false, tuesFact = false, wedFact = false, thursFact = false, friFact = false; for (int i = 0; i < 5; i++) { string day = GetDay(i + 1); if (i == 0) { if (Lawyer.GetYesNo("Is the employee " + employee.FirstName + " " + employee.LastName + " able to work " + day)) { mon = 1; monFact = true; } } else if (i == 1) { if (Lawyer.GetYesNo("Is the employee " + employee.FirstName + " " + employee.LastName + " able to work " + day)) { tues = 1; tuesFact = true; } } else if (i == 2) { if (Lawyer.GetYesNo("Is the employee " + employee.FirstName + " " + employee.LastName + " able to work " + day)) { wed = 1; wedFact = true; } } else if (i == 3) { if (Lawyer.GetYesNo("Is the employee " + employee.FirstName + " " + employee.LastName + " able to work " + day)) { thurs = 1; thursFact = true; } } else if (i == 4) { if (Lawyer.GetYesNo("Is the employee " + employee.FirstName + " " + employee.LastName + " able to work " + day)) { fri = 1; friFact = true; } } } if (Lawyer.GetYesNo("Are you sure you want to set the days for " + employee.FirstName + " " + employee.LastName + " and their workable late days to be Monday: " + monFact + " Tuesday:" + tuesFact + " Wednesday: " + wedFact + " Thursday: " + thursFact + " Friday: " + friFact)) { Creator.AddWorkableDays(employeeid, mon, tues, wed, thurs, fri); Console.Clear(); } Console.Clear(); } while (Lawyer.GetYesNo("Do you want to set the workable days for another employee")); }
public void UpdateWorkableDays() { do { Employee employee = GetEmployee(); //int employeeid = Reader.GetEmployeeId(employee.FirstName, employee.LastName); int mon = 0; int tues = 0; int wed = 0; int thurs = 0; int fri = 0; bool monFact = false, tuesFact = false, wedFact = false, thursFact = false, friFact = false; for (int i = 0; i < 5; i++) { string day = GetDay(i + 1); if (i == 0) { if (Lawyer.GetYesNo("Is the employee " + employee.FirstName + " " + employee.LastName + " able to work " + day)) { mon = 1; monFact = true; } } else if (i == 1) { if (Lawyer.GetYesNo("Is the employee " + employee.FirstName + " " + employee.LastName + " able to work " + day)) { tues = 1; tuesFact = true; } } else if (i == 2) { if (Lawyer.GetYesNo("Is the employee " + employee.FirstName + " " + employee.LastName + " able to work " + day)) { wed = 1; wedFact = true; } } else if (i == 3) { if (Lawyer.GetYesNo("Is the employee " + employee.FirstName + " " + employee.LastName + " able to work " + day)) { thurs = 1; thursFact = true; } } else if (i == 4) { if (Lawyer.GetYesNo("Is the employee " + employee.FirstName + " " + employee.LastName + " able to work " + day)) { fri = 1; friFact = true; } } } if (Lawyer.GetYesNo("Are you sure you want to set the days for " + employee.FirstName + " " + employee.LastName + " and their workable late days to be Monday: " + monFact + " Tuesday:" + tuesFact + " Wednesday: " + wedFact + " Thursday: " + thursFact + " Friday: " + friFact)) { Updater.UpdateWorkableDays(employee.ID, mon, tues, wed, thurs, fri); Console.Clear(); } Console.Clear(); } while (Lawyer.GetYesNo("Do you want to update the workable days for another employee")); }
public void AddSickDay(Employee employee, int year = 0, int month = 0) { do { List <DateTime> dates = GetDates("sick-leave"); if (year == 0 && month == 0) { dates = GetDates("sick-leave"); } else if (year > 0 && month == 0) { dates = GetDates("sick-leave", year); } else if (month > 0 && year > 0) { dates = GetDates("sick-leave", year, month); } DateTime startdate = dates[0]; DateTime enddate = dates[1]; DateTime date = startdate; bool fact = true; do { var day = date.DayOfWeek.ToString(); int notworkingemployees = Reader.GetNumberOfOffEmployees(date) + Reader.GetNumberOfSickEmployees(date) + Reader.GetNumberOfVacaEmployees(date); int workableemployees = Reader.GetNumberOfWorkableEmployees(date); if ((day != "Saturday") && (day != "Sunday")) { if ((notworkingemployees - workableemployees) > (GetEmployees() / 2) - 3) { Console.WriteLine("Sorry but there is a conflict with this day:" + date.ToString()); Console.ReadLine(); fact = false; } } date = date.AddDays(1.0); } while ((!(date > enddate)) && fact); bool conflictfact = DoesConflictExist(employee.ID, startdate, enddate); if (fact && !(conflictfact)) { if (Lawyer.GetYesNo("Are you sure you want to add the sick day/s of " + employee.PrintName() + " from " + startdate.ToLongDateString() + " to " + enddate.ToLongDateString())) { Creator.AddSickDay(employee.ID, startdate, enddate); } } else if (conflictfact) { Console.WriteLine("Sorry but there was a conflict with trying to schedule this employee for the given sick days."); Console.ReadLine(); } else if (!fact) { Console.WriteLine("Not enough workers some how"); Console.ReadLine(); } Console.Clear(); if (Lawyer.GetYesNo("Do you want to add sick days for the same employee?")) { if (Lawyer.GetYesNo("Do you want to add sick days for this employee using the same year?")) { if (Lawyer.GetYesNo("Do you want to add sick days for this employee using the same month?")) { AddSickDay(employee, int.Parse(date.Year.ToString()), int.Parse(date.Month.ToString())); } else { AddSickDay(employee, int.Parse(date.Year.ToString())); } } else { AddSickDay(employee); } } } while (Lawyer.GetYesNo("Do you want to add a sick days for another employee?")); }
/// <summary> /// through multiple yes no questions to call the deleter methods to delete records /// </summary> /// <param name="schedule">schedule object to be used to call the schedule methods</param> /// <param name="lawyer">lawyer object to be used to call lawyer methods for user interaction</param> public static void Delete(Schedule schedule, Lawyer lawyer) { }
/// <summary> /// through multiple yes no questions to call the reader methods to read records /// </summary> /// <param name="schedule">schedule object to be used to call the schedule methods</param> /// <param name="lawyer">lawyer object to be used to call lawyer methods for user interaction</param> public static void Read(Schedule schedule, Lawyer lawyer) { }