private Caregiver getAvailableCaregiver(List<Caregiver> unRosteredCaregivers, AttendanceRequest bringWish) { // TODO: LINQ //// TODO: check if not exceeding max number with adding the parent's children foreach (Caregiver caregiver in unRosteredCaregivers) { if (caregiver.AvailableAttendance.Contains(bringWish)) return caregiver; } return null; }
private FIT_RESULT addToRoster(WeekRoster roster, Child currentChild, AttendanceRequest bringWish) { List<Child> children = roster.getChildren(bringWish.Dayparts); List<Caregiver> caregivers = roster.getCaregivers(bringWish.Dayparts); if (children.Count >= 13) // TODO: remove magic numbers return FIT_RESULT.FULL; if (children.Count + 1 - caregivers.Count * 5 > 0) // TODO: remove magic numbers return FIT_RESULT.INSUFFICIENT_CAREGIVERS; // TODO: max 3 babies roster.addChild(bringWish.Dayparts, currentChild); return FIT_RESULT.SUCCESS; }
private bool addCaregiver(WeekRoster roster, List<Caregiver> caregivers, AttendanceRequest bringWish) { List<Caregiver> rosteredCaregivers = roster.getCaregivers(); // first see if we can add a new parent before shifting Caregiver availableCaregiver = getAvailableCaregiver(caregivers.Except(rosteredCaregivers).ToList(), bringWish); if (availableCaregiver != null) { roster.addCaregiver(bringWish.Dayparts, availableCaregiver); return true; } else { return shiftCaregiver(roster, caregivers, rosteredCaregivers, bringWish); } }
public void StorePeriodRecord() { //Arrange var period = new AttendanceRequest() { Start = 200001, End = 201526, Dayparts = DayPart.MONDAY_MORNING }; //Act context.Periods.Add(period); context.SaveChanges(); //Assert Assert.IsTrue(RunDatabaseAsserts()); }
public void StorePeriodRecordAndRetrieve() { //Arrange var period = new AttendanceRequest { Start = 200001, End = 201526, Dayparts = DayPart.MONDAY_MORNING }; context.Periods.Add(period); context.SaveChanges(); //Act var retrievedPeriod = (from p in context.Periods select p).First(); //Assert Assert.AreEqual(200001, retrievedPeriod.Start.Value); Assert.AreEqual(201526, retrievedPeriod.End.Value); }
private bool shiftCaregiver(WeekRoster roster, List<Caregiver> parents, List<Caregiver> rosteredParents, AttendanceRequest bringWish) { // TODO: see if a parent can move to this day, put another on that day and move, return true on success // TODO: check if not exceeding max number with adding the parent's children return false; }
private bool shiftChild(WeekRoster roster, AttendanceRequest bringWish) { // TODO: see if a child can move away from this day, put it there, return true on success return false; }