/// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public List<PendingVacationRequestViewItem> GetPendingRequests()
        {
            String currentUserId = User.Identity.GetUserId();
            List<String> statesListWithShiftPartner = new List<string> { DBQuery.AGREED, DBQuery.REJECTED_BY_DEPUTY };
            List<String> statesListWithoutShiftPartner = new List<string> { DBQuery.SUBMITTED };

            DBQuery dbq = new DBQuery();

            var DivisionVacationRequestList = new List<PendingVacationRequestViewItem>();
            var SortedDivisionVacationRequestList = new List<PendingVacationRequestViewItem>();
            var EmployeeList = new List<Employee>();

            EmployeeList.AddRange(dbq.SelectEmployeesOfDivision(currentUserId));
            if (EmployeeList.Count() > 0)
            {
                foreach (Employee e in EmployeeList)
                {
                    // look for all employees of division but Division Manager self
                    if (!e.getEmployeeID().Equals(currentUserId))
                    {
                        var vrList = new List<VacationManagement.VacationRequest>();
                        String requesterName = e.getFullName();
                        String deputyID = dbq.SelectShiftPartner(e.getEmployeeID());
                        int remainingVacationDays = dbq.SelectRemainingVacationDays(e.getEmployeeID());

                        // has shiftpartner
                        if (!deputyID.Equals("null"))
                        {
                            String deputyName = dbq.SelectEmployeeFullName(deputyID);

                            foreach (string s in statesListWithShiftPartner)
                            {
                                vrList.AddRange(dbq.SelectVacationRequestsInState(e.getEmployeeID(), s));
                            }
                            foreach (VacationManagement.VacationRequest vr in vrList)
                            {
                                DivisionVacationRequestList.Add(new PendingVacationRequestViewItem(vr, requesterName, deputyName, remainingVacationDays));
                            }
                        }
                        else
                        {
                            String deputyName = "-";
                            foreach (string s in statesListWithoutShiftPartner)
                            {
                                vrList.AddRange(dbq.SelectVacationRequestsInState(e.getEmployeeID(), s));
                            }
                            foreach (VacationManagement.VacationRequest vr in vrList)
                            {
                                DivisionVacationRequestList.Add(new PendingVacationRequestViewItem(vr, requesterName, deputyName, remainingVacationDays));
                            }
                        }
                    }
                }
                // Sort all Vacation Requests by Startdate, Ascending
               SortedDivisionVacationRequestList = DivisionVacationRequestList.OrderBy(c => c.getVacationStartDate()).ToList();
            }
            return SortedDivisionVacationRequestList;
        }
        public List<EmployeeVacationRequestViewItem> GetVacationRequests()
        {
            String currentUserId = User.Identity.GetUserId();

            List<GUIManagement.EmployeeVacationRequestViewItem> resultList = new List<GUIManagement.EmployeeVacationRequestViewItem>();
            DBQuery dbq = new DBQuery();

            List<VacationManagement.VacationRequest> vacationRequestList = dbq.SelectAllVacationRequestsOfEmployee(currentUserId);

            String shiftPartnerID = dbq.SelectShiftPartner(currentUserId);
            String shiftParterName = "-";

            if (shiftPartnerID != null)
            {
                Employee shiftPartner = dbq.SelectDeputy(currentUserId);
                shiftParterName = dbq.SelectEmployeeFullName(shiftPartner.getEmployeeID());
            }

            foreach (VacationManagement.VacationRequest vr in vacationRequestList)
            {
                var employeeVacationRequest = new GUIManagement.EmployeeVacationRequestViewItem(vr, shiftParterName);
                resultList.Add(employeeVacationRequest);
            }
            return resultList;
        }
        public List<AllVacationRequestViewItem> GetAllVacationRequests()
        {
            List<GUIManagement.AllVacationRequestViewItem> resultList = new List<GUIManagement.AllVacationRequestViewItem>();
            DBQuery dbq = new DBQuery();

            List<VacationManagement.VacationRequest> vacationRequestList = dbq.SelectAllVacationRequestsOfDivision(1);              // hier muss eine Funktionr ein der die Bereichsid übermittelt

            string requesterFullName = "-";

            foreach (VacationManagement.VacationRequest vr in vacationRequestList)
            {
                requesterFullName = dbq.SelectEmployeeFullName(vr.getEmployeeID());
                var employeeVacationRequest = new GUIManagement.AllVacationRequestViewItem(vr, requesterFullName);
                resultList.Add(employeeVacationRequest);
            }
            return resultList;
        }
        // GET: VacationReplacementRequests
        public ActionResult Index()
        {
            // identify logged-in user
            String currentUserId = User.Identity.GetUserId();

            DBQuery dbq = new DBQuery();
            var ReplacementReqList = new List<GUIManagement.VacationReplacementRequestViewItem>();

            String shiftPartnerID = dbq.SelectShiftPartner(currentUserId);

            if (shiftPartnerID != null)
            {
                var VRList = dbq.SelectSubmittedVacationRequestsOfShiftPartner(shiftPartnerID);
                String name = dbq.SelectEmployeeFullName(shiftPartnerID);

                foreach (VacationManagement.VacationRequest vr in VRList)
                {
                    GUIManagement.VacationReplacementRequestViewItem vrr = new GUIManagement.VacationReplacementRequestViewItem(vr, name);
                    ReplacementReqList.Add(vrr);
                }
            }
            else
            {
                // Labelausgabe GUI

            }
            return View(ReplacementReqList);
        }