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()); }
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); }