コード例 #1
0
ファイル: Database.cs プロジェクト: JonaLaw/Digyl
        // history
        public Task <List <HistoryItem> > GetHistoryAsync(string typeFilter = null, string actionFilter = null, string reminderFilter = null, byte responceFilter = 3)
        {
            AsyncTableQuery <HistoryItem> query = _database.Table <HistoryItem>();

            if (typeFilter != null)
            {
                query = query.Where(h => h.TrackedType.Equals(typeFilter));
            }

            if (actionFilter != null)
            {
                query = query.Where(h => h.Action.Equals(actionFilter));
            }

            if (reminderFilter != null)
            {
                query = query.Where(h => h.Reminder.Equals(reminderFilter));
            }

            if (responceFilter != 3)
            {
                query = query.Where(h => h.Responce == responceFilter);
            }

            return(query.OrderByDescending(h => h.ID).ToListAsync());
        }
コード例 #2
0
ファイル: Generic.cs プロジェクト: FShieldheart-zz/pcms
        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());
        }