Beispiel #1
0
        public IList <LeaveRequestWithNames> Supervisor()
        {
            var groupId = User.LeaveDelegateGroupId() ?? User.SupervisorGroupId() ??
                          throw new UnauthorizedAccessException(
                                    "Logged in user must be a supervisor or leave delegate");

            return(_leaveService.ListUnderOrgGroup(groupId, User.PersonId()));
        }
Beispiel #2
0
        public IList <PersonWithStaffSummaries> StaffSummariesForSupervisor()
        {
            var groupId = User.SupervisorGroupId();

            if (!groupId.HasValue)
            {
                return(new List <PersonWithStaffSummaries>());
            }
            return(_personService.GetStaffSummariesForOrgGroup(groupId.Value).RemoveSalaryStaff());
        }
Beispiel #3
0
        public List <PersonRoleWithJob> SupervisorsRoles(bool canStartDuringRange,
                                                         DateTime beginRange,
                                                         DateTime endRange)
        {
            var groupId = User.SupervisorGroupId();

            if (!groupId.HasValue)
            {
                return(new List <PersonRoleWithJob>());
            }
            return(_personService.RolesForOrgGroup(canStartDuringRange, beginRange, endRange, groupId.Value));
        }
Beispiel #4
0
        public IList <PersonAndLeaveDetails> MyPeopleWithLeave(int year)
        {
            var groupId = User.LeaveDelegateGroupId() ?? User.SupervisorGroupId() ??
                          throw new UnauthorizedAccessException(
                                    "Logged in user must be a supervisor or leave delegate");
            var people   = _leaveService.PeopleInGroupWithLeave(groupId, year);
            var personId = User.PersonId();

            if (personId != null && people.All(details => details.Person.Id != personId))
            {
                people.Insert(0, _leaveService.PersonWithLeave(personId.Value, year));
            }

            return(people);
        }