/// <summary> /// /// </summary> /// <param name="commandResults"></param> /// <param name="subListName"></param> private void AddToSubList(IEnumerable <Atom> commandResults, string subListName) { var itResult = commandResults.GetEnumerator(); while (itResult.MoveNext()) { var result = itResult.Current.CastAs <DictionaryAtom>(); var def = Repository.GetSubtype(SystemType.GetValue(), result.GetInt(IdColumn).ToString(CultureInfo.InvariantCulture)); if (def.IsNull()) { throw new ObjectNotFoundException(string.Format(Resources.ERR_PRIMITIVE_NOT_FOUND, result.GetInt(IdColumn))); } var newsubList = false; var subList = def.Def.GetAtom <ListAtom>(subListName); if (subList.IsNull()) { subList = new ListAtom(); newsubList = true; } subList.Add(result); if (newsubList) { def.Def.Set(subListName, subList); } } }
/// <summary> /// /// </summary> /// <param name="commandResults"></param> private void LoadPrimitive(IEnumerable <Atom> commandResults) { Validation.IsNotNull(commandResults, "commandResults"); var itResult = commandResults.GetEnumerator(); while (itResult.MoveNext()) { var result = itResult.Current.CastAs <DictionaryAtom>(); var defType = typeof(T); var def = (T)Activator.CreateInstance(defType, result.GetInt(IdColumn), result.GetString(NameColumn), result); Repository.AddSubtype(SystemType.GetValue(), result.GetInt(IdColumn).ToString(CultureInfo.InvariantCulture), def); } }