public Fork Contain(ISeatingTerm seatingTerm) { Fork tempReturn; if (Self == seatingTerm && Self != null) { return(this); } else if (ChildList.Count != 0) { for (int i = 0; i < ChildList.Count; i++) { tempReturn = ChildList[i].Contain(seatingTerm); if (tempReturn != null) { return(tempReturn); } } } //else //{ // return null; //} return(null); }
private AssignmentSeatingState CheckAssignmentState(ISeatingTerm assignment) { var firstSeat = default(ISeatingSeat); bool hasEmpty = false; bool hasSeat = false; bool hasDiffSeat = false; if (!_termOccupationRegister.Keys.Contains(assignment)) { return(AssignmentSeatingState.Empty); } foreach (List <SeatArrangement> seatArrList in _termOccupationRegister[assignment]) { foreach (var iso in seatArrList) { if (iso.Seat == default(ISeatingSeat)) { hasEmpty = true; } else { hasSeat = true; if (firstSeat == default(ISeatingSeat)) { firstSeat = iso.Seat; } else if (firstSeat != iso.Seat) { hasDiffSeat = true; } } } } if (hasEmpty && !hasSeat) { return(AssignmentSeatingState.Empty); } else if (hasEmpty && hasSeat) { return(AssignmentSeatingState.Partial); } else if (!hasEmpty && hasSeat && !hasDiffSeat) { return(AssignmentSeatingState.Full); } else if (!hasEmpty && hasSeat && hasDiffSeat) { return(AssignmentSeatingState.FullButSeprate); } return(AssignmentSeatingState.Empty); }
public Fork Contain(ISeatingTerm seatingTerm) { Fork tempReturn; if (Self == seatingTerm && Self != null) { return this; } else if (ChildList.Count != 0) { for (int i = 0; i < ChildList.Count; i++) { tempReturn = ChildList[i].Contain(seatingTerm); if (tempReturn != null) return tempReturn; } } //else //{ // return null; //} return null; }
public ISeatingTerm GetSourceParent() { _sourceParent = _sourceParent ?? Source.GetLowestTerm() as ISeatingTerm; return _sourceParent; }
public ISeatingTerm GetSourceParent() { _sourceParent = _sourceParent ?? Source.GetLowestTerm() as ISeatingTerm; return(_sourceParent); }
public static bool SeatIsEmpty(this ISeatingTerm term) { return(string.IsNullOrEmpty(term.Seat)); }
public Fork(ISeatingTerm seatingTerm) { _self = seatingTerm; _childList = new List<Fork>(); }
public Fork(ISeatingTerm seatingTerm) { _self = seatingTerm; _childList = new List <Fork>(); }
private AssignmentSeatingState CheckAssignmentState(ISeatingTerm assignment) { var firstSeat = default(ISeatingSeat); bool hasEmpty = false; bool hasSeat = false; bool hasDiffSeat = false; if (!_termOccupationRegister.Keys.Contains(assignment)) { return AssignmentSeatingState.Empty; } foreach (List<SeatArrangement> seatArrList in _termOccupationRegister[assignment]) { foreach (var iso in seatArrList) { if (iso.Seat == default(ISeatingSeat)) { hasEmpty = true; } else { hasSeat = true; if (firstSeat == default(ISeatingSeat)) { firstSeat = iso.Seat; } else if (firstSeat != iso.Seat) { hasDiffSeat = true; } } } } if (hasEmpty && !hasSeat) { return AssignmentSeatingState.Empty; } else if (hasEmpty && hasSeat) { return AssignmentSeatingState.Partial; } else if (!hasEmpty && hasSeat && !hasDiffSeat) { return AssignmentSeatingState.Full; } else if (!hasEmpty && hasSeat && hasDiffSeat) { return AssignmentSeatingState.FullButSeprate; } return AssignmentSeatingState.Empty; }
public static bool ArrangeSeatYet(this ISeatingTerm obj) { return(obj.IsNeedSeat && obj.If <Term>(o => o.SeatIsEmpty())); //return new[] { "W", "X" }.Contains(obj.OccupyStatus); }