Beispiel #1
0
        /// <summary>
        /// Initialize from a source, every item is added by calling InsertOrUpdate
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="writer"></param>
        /// <param name="copyFrom"></param>
        /// <returns></returns>
        public static async Task Initialize <T>(this ITableWriter <T> writer, ITableReader <T> copyFrom)
        {
            var list = await copyFrom.GetAll();

            foreach (var item in list)
            {
                var item1 = item;
                await writer.InsertOrUpdate(item, obj => item1);
            }
        }
Beispiel #2
0
        public static async Task <ReaderMatch <IEnumerable <TEntity> > > QueryAll <TEntity>(this ITableReader <TEntity> reader, System.Linq.Expressions.Expression <Func <TEntity, bool> > query)
        {
            var items = await reader.GetAll();

            if (items != null)
            {
                return(await Task.FromResult(new ReaderMatch <IEnumerable <TEntity> >(items.Where(query.Compile()))));
            }

            return(await Task.FromResult(new ReaderMatch <IEnumerable <TEntity> >(new TEntity[0]) { IsMatch = false }));
        }