private async Task <IList <T> > GetManyReady(Expression <Func <T, bool> > filter = null, Func <AsyncTableQuery <T>, AsyncTableQuery <T> > order = null, int skip = 0, int take = 0, bool includeDeleted = false) { AsyncTableQuery <T> tableQuery = _mainContext.GetCurrentContext().Table <T>(); if (!includeDeleted) { tableQuery = tableQuery.Where(q => q.IsDeleted.Equals(includeDeleted)); } if (filter != null) { tableQuery = tableQuery.Where(filter); } if (order != null) { tableQuery = order(tableQuery); } if (order == null) { tableQuery = tableQuery.OrderByDescending(b => b.CreatedDate); } if (skip > 0) { tableQuery = tableQuery.Skip(skip); } if (take > 0) { tableQuery = tableQuery.Take(take); } return(await tableQuery.ToListAsync()); }