public static bool IsStaffMatchingSkillReqs(Staff staff, ReqStaffByAbillity staffAbility) { var retVal = !staffAbility.SkillIDs.Except(staff.Skills.Select(s => s.ID)).Any(); if (!retVal) { var allSkillByStaff = staff.Professions.SelectMany(s => s.Skills.Select(ss => ss.ID)); retVal = !staffAbility.SkillIDs.Except(allSkillByStaff).Any(); } return(retVal); }
public static List <Staff> GetAllStaffByStaffReqs(List <Staff> staff, ReqStaffByAbillity staffAbility) { List <Staff> retVal = new List <Staff>(); if (staff.Select(s => s.PrimaryProsessionID).Contains(staffAbility.ProfessionID)) { var staffByProfession = staff.Where(s => s.PrimaryProsessionID == staffAbility.ProfessionID).ToArray(); foreach (var s in staffByProfession) { if (IsStaffMatchingSkillReqs(s, staffAbility)) { retVal.Add(s); } } } return(retVal); }
public static List <Staff> GetAllStaffByStaffReqs(List <Staff> staff, ReqStaffByAbillity staffAbility) { List <Staff> retVal = new List <Staff>(); List <Staff> staffByProfession = new List <Staff>(); foreach (var st in staff) { if (st.Professions.Select(s => s.ID).Contains(staffAbility.ProfessionID)) { staffByProfession.Add(st); } } foreach (var s in staffByProfession) { if (IsStaffMatchingSkillReqs(s, staffAbility)) { retVal.Add(s); } } return(retVal); }
public static bool IsStaffMatchingSkillReqs(Staff staff, ReqStaffByAbillity staffAbility) { var retVal = !staffAbility.SkillIDs.Except(staff.Skills.Select(s => s.ID)).Any(); return(retVal); }