Exemplo n.º 1
0
        internal virtual T Query <T>(object searchData, int maxResults, IDataModelCollectionMetadata collectionMetadata)
            where T : DataModelBase, new()
        {
            T   model      = new T();
            var collection = model as IDataModelCollection;

            if (collection != null)
            {
                var items = new List <DataModelBase>();
                if (!Query(typeof(T), searchData, items, maxResults, collection.ModelType))
                {
                    return(null);
                }

                foreach (var item in items)
                {
                    collection.Add(item);
                }

                if (collectionMetadata.AreResultsReadOnly)
                {
                    collection.MakeReadOnly();
                }
            }

            return(model);
        }
Exemplo n.º 2
0
        internal override T Query <T>(object searchData, int maxResults, IDataModelCollectionMetadata collectionMetadata)
        {
            var model = new T();

            if (!collectionMetadata.Query(model, maxResults, searchData, _database))
            {
                return(null);
            }

            return(model);
        }