Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public static void AddVacationDate(VacationDate vacation)
        {
            string fileName = FormatFileName(vacation.Department);
            List <VacationDate> vacationDates = ReadDatabase <VacationDate>(fileName);

            vacationDates.Add(vacation);
            UpdateDatabase(fileName, vacationDates);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }