Esempio n. 1
0
        public void SearchTest()
        {
            var filterType  = typeof(SampleEntity);
            var filterProps = filterType.GetProperties();
            var testFilter  = EntityReflector.GetFilterByFilterableColumns(typeof(SampleEntity), filterProps, "roberto");

            var result = EntitySqlParser.ParseEntity(testFilter, DatabaseEngine.SQLite, PersistenceAction.List, testFilter);

            result = result.Trim();

            Assert.NotNull(result);
            Assert.StartsWith("SELECT", result);
            Assert.Contains("FROM", result);
            Assert.EndsWith(string.Format("WHERE {0}.{1} LIKE '%roberto%'", "sample_entity", "name"), result);
        }
        public async Task <ICollection <T> > SearchAsync(object criteria, bool loadComposition = false, int recordsLimit = 0, string orderAttributes = null, bool orderDescending = false)
        {
            var result      = new List <T>();
            var filter      = EntityReflector.GetFilterByFilterableColumns(entityType, entityProps, criteria);
            var queryResult = await ListObjectsAsync(filter, PersistenceAction.List, loadComposition, recordsLimit, orderAttributes : orderAttributes, orderDescending : orderDescending);

            if (queryResult != null)
            {
                foreach (var item in queryResult)
                {
                    result.Add(item as T);
                }
            }

            return(result);
        }