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);
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        public static bool IsStaffMatchingSkillReqs(Staff staff, ReqStaffByAbillity staffAbility)
        {
            var retVal = !staffAbility.SkillIDs.Except(staff.Skills.Select(s => s.ID)).Any();

            return(retVal);
        }