private ScheduleOfRITEs BuildScheduleFromRITChars(string name, HashSet <long> EDSschedule) { ScheduleOfRITEs newSchedule = new ScheduleOfRITEs(name); foreach (long RITCharID in EDSschedule) { long RITEID = EDSDataExtract.CoverageIdAttrMap[RITCharID].RITExposureId; RITCharacteristic characteristicToAdd = _characteristics.Where(ritchar => ritchar.ID == RITCharID).FirstOrDefault(); RITE ritetoAdd = _rites.Where(rite => rite.ExposureID == RITEID).FirstOrDefault(); if (characteristicToAdd != null) { newSchedule.AddCharacteristic(characteristicToAdd); } else { throw new IndexOutOfRangeException("Error building schedule with RITCharacteristics: Cannot find RITCharacteristic with id = " + RITCharID + " in Exposure Data"); } if (ritetoAdd != null) { newSchedule.AddItem(ritetoAdd); } else { throw new IndexOutOfRangeException("Error building schedule with RITEs: Cannot find RITE with id = " + RITEID + " in Exposure Data"); } } return(newSchedule); }
public override bool ScheduleListEquals(Schedule <RITE> other) { ScheduleOfRITEs otherSch = other as ScheduleOfRITEs; if (otherSch == null) { return(false); } if (IsLocation) { if (this.RITChars.SetEquals(otherSch.RITChars)) { return(true); } else { return(false); } } else { if (this.ScheduleList.SetEquals(otherSch.ScheduleList)) { return(true); } else { return(false); } } }
public override bool IsLargerOrEqualThan(Schedule <RITE> other) { ScheduleOfRITEs otherSch = other as ScheduleOfRITEs; if (otherSch == null) { return(false); } if (IsLocation) { if (this.RITChars.IsSupersetOf(otherSch.RITChars)) { return(true); } else { return(false); } } else { if (this.ScheduleList.IsSupersetOf(other.ScheduleList)) { return(true); } else { return(false); } } }
public void AddScheduleFromRITChars(string name, HashSet <RITCharacteristic> RITChars) { ScheduleOfRITEs newSchedule = new ScheduleOfRITEs(name); foreach (RITCharacteristic RITChar in RITChars) { newSchedule.AddItem(RITChar.ParentRITE); newSchedule.AddCharacteristic(RITChar); } _schedules.Add(newSchedule); _schedulesDict.Add(newSchedule.Name, newSchedule); }
public void AddSchedule(string name, HashSet <RITE> rites) { ScheduleOfRITEs newSchedule = new ScheduleOfRITEs(name); foreach (RITE rite in rites) { newSchedule.AddItem(rite); newSchedule.RITChars.UnionWith(rite.RiskCharacteristics); } _schedules.Add(newSchedule); _schedulesDict.Add(newSchedule.Name, newSchedule); }
private ScheduleOfRITEs BuildScheduleFromRITs2(string name, HashSet <long> EDSschedule) { ScheduleOfRITEs newSchedule = new ScheduleOfRITEs(name); foreach (long riteID in EDSschedule) { RITE ritetoAdd; if (!_ritesDict.TryGetValue(riteID, out ritetoAdd)) { throw new IndexOutOfRangeException("Error building schedule with RITEs: Cannot find RITE with id = " + riteID + " in Exposure Data"); } newSchedule.AddItem(ritetoAdd); newSchedule.RITChars.UnionWith(ritetoAdd.RiskCharacteristics); } return(newSchedule); }
private ScheduleOfRITEs BuildScheduleFromRITs(string name, HashSet <long> EDSschedule) { ScheduleOfRITEs newSchedule = new ScheduleOfRITEs(name); foreach (long riteID in EDSschedule) { RITE ritetoAdd = _rites.Where(rite => rite.ExposureID == riteID).FirstOrDefault(); if (ritetoAdd != null) { newSchedule.AddItem(ritetoAdd); newSchedule.RITChars.UnionWith(ritetoAdd.RiskCharacteristics); } else { throw new IndexOutOfRangeException("Error building schedule with RITEs: Cannot find RITE with id = " + riteID + " in Exposure Data"); } } return(newSchedule); }
private ScheduleOfRITEs BuildScheduleFromRITChars2(string name, HashSet <long> EDSschedule) { ScheduleOfRITEs newSchedule = new ScheduleOfRITEs(name); foreach (long RITCharID in EDSschedule) { RITCharacteristic characteristicToAdd; if (!_characteristicsDict.TryGetValue(RITCharID, out characteristicToAdd)) { throw new IndexOutOfRangeException("Error building schedule with RITCharacteristics: Cannot find RITCharacteristic with id = " + RITCharID + " in Exposure Data"); } newSchedule.AddCharacteristic(characteristicToAdd); long RITEID = EDSDataExtract.CoverageIdAttrMap[RITCharID].RITExposureId; RITE ritetoAdd; if (!_ritesDict.TryGetValue(RITEID, out ritetoAdd)) { throw new IndexOutOfRangeException("Error building schedule with RITEs: Cannot find RITE with id = " + RITEID + " in Exposure Data"); } newSchedule.AddItem(ritetoAdd); } return(newSchedule); }