コード例 #1
0
        async Task <IEnumerable <Administrator> > GetSource(vm.AdministratorsList info, bool all = false)
        {
            var query = Database.Of <Administrator>();

            var result = await query.GetList();

            if (info.FullSearch.HasValue())
            {
                var keywords = info.FullSearch.Split(' ').Trim().ToArray();
                result = result.Where(item => item.ToString("F").ContainsAll(keywords, caseSensitive: false));
            }

            result = info.Sort.Apply(result);

            result = result.ToList();
            info.Paging.TotalItemsCount = result.Count();

            if (all)
            {
                return(result);
            }
            else
            {
                return(result.TakePage(info.Paging));
            }
            return(result);
        }
コード例 #2
0
        public async Task <ActionResult> Delete(vm.AdministratorsList info, [Bind(Prefix = "list.item")] Administrator item)
        {
            try
            {
                await Database.Delete(item);
            }
            catch (Exception ex)
            {
                return(Notify(ex.Message, "error"));
            }

            await TryUpdateModelAsync(info);

            return(View(info));
        }
コード例 #3
0
 public async Task OnBound(vm.AdministratorsList info)
 {
     info.Items = await GetSource(info)
                  .Select(item => new vm.AdministratorsList.ListItem(item)).ToList();
 }
コード例 #4
0
 public async Task <ActionResult> Index(vm.AdministratorsList info)
 {
     return(View(info));
 }