コード例 #1
0
        // GET /api/[controller]
        public virtual async Task <ActionResult <IEnumerable <TViewModel> > > Get()
        {
            var valid = new List <TViewModel>();
            var user  = await CurrentUser;

            foreach (var entity in Filter(Database.Set <TData>(), user).Where(e => !e.Deleted))
            {
                if (await Permissions.AllowRead(user, entity))
                {
                    valid.Add(await CreateViewModelAsync(entity));
                }
            }
            return(valid);
        }
コード例 #2
0
        // GET /api/[controller]
        public virtual async Task <ActionResult <IEnumerable <TViewModel> > > Get(TKey parentId)
        {
            var valid = new List <TViewModel>();
            var user  = await CurrentUser;

            var parent = await Database.FindAsync <TParent>(parentId);

            if (parent == null)
            {
                return(NotFound());
            }

            foreach (var entity in Filter(Database.Set <TData>(), parent, user).Where(e => !e.Deleted))
            {
                if (await Permissions.AllowRead(user, entity))
                {
                    valid.Add(await CreateViewModelAsync(entity));
                }
            }
            return(valid);
        }