Example #1
0
        protected IEnumerable <StaffModel> GetStaffManagers()
        {
            var managers =
                new DataContextEF().Staff.Where(
                    m =>
                    m.StaffId.Equals(LeaveModel.StaffMember.StaffManager1Id) ||
                    m.StaffId.Equals(LeaveModel.StaffMember.StaffManager2Id));

            if (!managers.Any())
            {
                throw new Exception("staff memmber has no managers");
            }

            return(managers.ToList());
        }
Example #2
0
        protected sealed override void SetmailingList()
        {
            ToEmailList.Add(LeaveModel.StaffMember.StaffEmail);

            var managers =
                new DataContextEF().Staff.Where(
                    m =>
                    m.StaffId.Equals(LeaveModel.StaffMember.StaffManager1Id) ||
                    m.StaffId.Equals(LeaveModel.StaffMember.StaffManager2Id));

            if (!managers.Any())
            {
                throw new Exception("staff memmber has no managers");
            }

            //set to email list
            managers.ToList().ForEach(m => CcEmailList.Add(m.StaffEmail));
        }
        public static IEnumerable <StaffLeaveModel> GetSimultaniousLeaveApps(StaffModel staffMember, DateTime leaveStart, DateTime leaveEnd)
        {
            var staff = new DataContextEF()
                        .Staff
                        .Include("StaffLeaveData")
                        .Where(m => m.DivisionId.Equals(staffMember.DivisionId) && m.RecordStatus.Equals("Active") && (!m.StaffId.Equals(staffMember.StaffId)));

            if (!staff.Any())
            {
                return(null);
            }

            var leaveApps = new List <StaffLeaveModel>();

            staff.ToList().ForEach((m) => m.StaffLeaveData.Where(
                                       x =>
                                       ((x.LeaveDateStart >= leaveStart.Date && x.LeaveDateStart.Date <= leaveStart) ||
                                        (x.LeaveDateStart.Date >= leaveEnd.Date && x.LeaveDateEnd.Date <= leaveEnd.Date)) &&
                                       (x.RecordStatus.Equals("Active")) &&
                                       ((x.LeaveStatus.Equals((int)LeaveStatus.Approved)) || x.LeaveStatus.Equals((int)LeaveStatus.Pending)))
                                   .ToList().ForEach(leaveApps.Add));

            return(leaveApps);
        }