Exemple #1
0
        /// <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);
                }
            }
        }
Exemple #2
0
        /// <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);
            }
        }