private static HHTAffordance AssignFields([NotNull] DataReader dr, [NotNull] string connectionString, bool ignoreMissingFields,
                                                  [NotNull]     AllItemCollections aic)
        {
            var hhdevlocID       = dr.GetIntFromLong("ID");
            var householdTraitID = dr.GetIntFromLong("HouseholdTraitID");
            var affID            = dr.GetIntFromLong("AffordanceID");
            var weight           = dr.GetIntFromLong("Weight", false, ignoreMissingFields, 100);
            var locationID       = dr.GetIntFromLong("LocationID");
            var timeLimitID      = dr.GetIntFromLong("TimeLimitID", false, ignoreMissingFields);
            var aff = aic.Affordances.FirstOrDefault(myaff => myaff.ID == affID);

            var startMinusMinutes = dr.GetIntFromLong("StartMinusMinutes", false, ignoreMissingFields);
            var startPlusMinutes  = dr.GetIntFromLong("StartPlusMinutes", false, ignoreMissingFields);

            var endMinusMinutes = dr.GetIntFromLong("EndMinusMinutes", false, ignoreMissingFields);
            var endPlusMinutes  = dr.GetIntFromLong("EndPlusMinutes", false, ignoreMissingFields);

            var hht =
                aic.HouseholdTraits.FirstOrDefault(myhouseholdtrait => myhouseholdtrait.ID == householdTraitID);
            HHTLocation hhtloc = null;

            if (hht != null)
            {
                hhtloc = hht.Locations.FirstOrDefault(myhhtl => myhhtl.Location.ID == locationID);
            }
            var affname = "(no name)";

            if (aff != null)
            {
                affname = aff.Name;
            }
            var hhlName = "(no name)";

            if (hhtloc != null)
            {
                hhlName = hhtloc.Name;
            }
            var       householdName = affname + " - " + hhlName;
            TimeLimit timeLimit     = aic.TimeLimits.FirstOrDefault(x => x.ID == timeLimitID);
            var       guid          = GetGuid(dr, ignoreMissingFields);

            var hhdl = new HHTAffordance(hhdevlocID, aff, hhtloc, householdTraitID, connectionString,
                                         householdName, timeLimit, weight, startMinusMinutes, startPlusMinutes, endMinusMinutes, endPlusMinutes, guid);

            hhtloc?.AffordanceLocations.Add(hhdl);
            return(hhdl);
        }
 public HHTAffordance([CanBeNull] int?pID, [CanBeNull] Affordance affv, [CanBeNull] HHTLocation hhtLocation,
                      int householdTraitID,
                      [NotNull]    string connectionString, [NotNull] string hhaffName, [CanBeNull] TimeLimit timeLimit, int weight
                      , int startMinusMinutes, int startPlusMinutes, int endMinusMinutes, int endPlusMinutes,
                      StrGuid guid) : base(hhaffName, TableName, connectionString, guid)
 {
     _timeLimit         = timeLimit;
     _weight            = weight;
     _startMinusMinutes = startMinusMinutes;
     _startPlusMinutes  = startPlusMinutes;
     _endMinusMinutes   = endMinusMinutes;
     _endPlusMinutes    = endPlusMinutes;
     ID                = pID;
     _affordance       = affv;
     _hhtLocation      = hhtLocation;
     _householdTraitID = householdTraitID;
     TypeDescription   = "Household Trait Affordance Location";
 }
        private static HHTLocation AssignFields([NotNull] DataReader dr, [NotNull] string connectionString, bool ignoreMissingFields,
                                                [NotNull] AllItemCollections aic)
        {
            var hhlID       = dr.GetIntFromLong("ID");
            var locationID  = dr.GetIntFromLong("LocationID");
            var householdID = dr.GetNullableIntFromLong("HouseholdTraitID", false, ignoreMissingFields);

            var loc  = aic.Locations.FirstOrDefault(myloc => myloc.ID == locationID);
            var name = "(no name)";

            if (loc != null)
            {
                name = loc.Name;
            }
            var guid = GetGuid(dr, ignoreMissingFields);
            var hhl  = new HHTLocation(hhlID, loc, householdID, name, connectionString, guid);

            return(hhl);
        }