public string GetNextVacationDateStart() { List <VacationDate> allVacations = Database.GetCalendar(CurrentUser.Department); VacationDate mostRecentVacation = null; string daysLeft = ""; foreach (VacationDate vacation in allVacations) { if (vacation.EmployeeID == CurrentUser.ID) { if (mostRecentVacation == null) { mostRecentVacation = vacation; } else { if (vacation.StartDate < mostRecentVacation.StartDate) { mostRecentVacation = vacation; } } } } try { daysLeft = (((int)(mostRecentVacation.StartDate - DateTime.Now).TotalDays) + 1).ToString(); } catch (NullReferenceException) { daysLeft = "No Vacation Scheduled"; } return(daysLeft); }
public static void AddVacationDate(VacationDate vacation) { string fileName = FormatFileName(vacation.Department); List <VacationDate> vacationDates = ReadDatabase <VacationDate>(fileName); vacationDates.Add(vacation); UpdateDatabase(fileName, vacationDates); }
private bool VacationDateIsUnique(VacationDate vacation) { List <VacationDate> allVacations = Database.GetCalendar(vacation.Department); foreach (VacationDate vd in allVacations) { if (vacation.Equals(vd)) { return(false); } } return(true); }
public void ApproveVacationDate(VacationDate approvedVacation) { approvedVacation.IsVerified = true; List <VacationDate> allVacations = Database.GetCalendar(CurrentUser.Department); for (int i = 0; i < allVacations.Count; i++) { if (allVacations[i].EmployeeID == approvedVacation.EmployeeID && allVacations[i].StartDate == approvedVacation.StartDate) { allVacations[i] = approvedVacation; break; } } Database.AddVacationDate(allVacations); }
public bool UpdateAvailableVacationDays(VacationDate vacation) { int vacationLengthInDays = ((int)(vacation.EndDate - vacation.StartDate).TotalDays) + 1; int checkAmount = AvailableVacationDays - vacationLengthInDays; if (checkAmount >= 0) { AvailableVacationDays = checkAmount; return(true); } else if (AvailableVacationDays == -1) { return(true); } return(false); }
public bool CreateNewVacationDate(DateTime start, DateTime end, Personnel person) { VacationDate vacation = new VacationDate(); vacation.StartDate = start; vacation.EndDate = end; vacation.EmployeeID = person.ID; vacation.EmployeeName = MakeTitleCase(person.Name); vacation.EmployeeEmail = person.Email; vacation.Department = person.Department; vacation.IsVerified = false; vacation.VerifyTimeIsLinear(); if (VacationDateIsUnique(vacation)) { if (person.UpdateAvailableVacationDays(vacation)) { Database.AddVacationDate(vacation); return(true); } } return(false); }