Exemplo n.º 1
0
        /// <summary>
        /// Auto-Complete companies
        /// </summary>
        public IActionResult AcCompany([FromServices] SamplesDbContext context, string value = "", int take = 12)
        {
            var model = context.Customers.Where(c => c.CompanyName.Contains(value)).Take(take).Select(c => c.CompanyName).Distinct().OrderBy(s => s).ToList();

            if (model.Count == 1 && model[0] == value)
            {
                model.Clear();
            }
            return(View("AcCompany", model));
        }
Exemplo n.º 2
0
        public IActionResult DataTableSelection([FromServices] SamplesDbContext context, int[] selection = null)
        {
            selection = selection ?? Array.Empty <int>();
            var model = new DataTable <Customer>();
            var query = context.Customers
                        .Where(c => c.Id < 11)
                        .Where(c => selection.Contains(c.Id));

            model.Items = query.OrderBy(c => c.Id).ToArray();

            return(View("DataTableSelection", model));
        }
Exemplo n.º 3
0
        public IActionResult InfiniteScroll([FromServices] SamplesDbContext context, int toskip = 0)
        {
            var model = new DataTable <Customer>();

            model.Page     = toskip;
            model.PageSize = 4;
            var query = context.Customers
                        .Where(c => c.Id <= 120)
                        .OrderBy(c => c.Id)
                        .Skip(toskip).Take(model.PageSize);

            model.Items = query.ToArray();

            return(View(model));
        }
Exemplo n.º 4
0
        public IActionResult DataTableWithSelection([FromServices] SamplesDbContext context, int page = 1, int pagesize = 3, string q = null)
        {
            var model = new DataTable <Customer>();

            model.Page     = page;
            model.PageSize = pagesize;
            model.Query    = q;
            var query = context.Customers
                        .Where(c => c.Id < 11)
                        .Where(c => q == null || c.CompanyName.Contains(q));

            model.LastPage = (query.Count() + pagesize - 1) / pagesize;
            model.Items    = query.OrderBy(c => c.Id).Skip((page - 1) * pagesize).Take(pagesize).ToArray();

            return(View(model));
        }