public async Task <IActionResult> IndexEdit()
        {
            var query = queryProvider.Parse <ProductViewModel>();

            int pg       = (int)query.Page;
            var grouping = query.GetGrouping <ProductViewModelGrouping>();

            ProductlistViewModel model = new ProductlistViewModel
            {
                Query    = query,
                Products =
                    grouping == null ?
                    await Repository.GetPage(
                        query.GetFilterExpression(),
                        query.GetSorting() ??
                        (q => q.OrderBy(m => m.Name)),
                        pg, 3)
                        :
                    await Repository.GetPageExtended(
                        query.GetFilterExpression(),
                        query.GetSorting <ProductViewModelGrouping>() ??
                        (q => q.OrderBy(m => m.Name)),
                        pg, 3,
                        query.GetGrouping <ProductViewModelGrouping>())
            };


            ViewBag.AllTypes = (await TypesRepository.GetPage <DisplayValue>(null, m => m.OrderBy(n => n.Display), 1, 1000)).Data;

            return(View(model));
        }
        public async Task <IActionResult> IndexEditDetail(int?page)
        {
            int pg = page.HasValue ? page.Value : 1;

            if (pg < 1)
            {
                pg = 1;
            }

            var model = new ProductlistViewModel
            {
                Products = await Repository.GetPage <ProductViewModel>(
                    null,
                    q => q.OrderBy(m => m.Name),
                    pg, 3)
            };

            return(View(model));
        }
        public async Task <IActionResult> IndexEditDA()
        {
            queryProvider.OrderBy =
                queryProvider.OrderBy ?? "Name asc";
            queryProvider.Top =
                queryProvider.Top ?? "3";
            var query = queryProvider.Parse <ProductViewModel>();

            ProductlistViewModel model = new ProductlistViewModel
            {
                Query    = query,
                Products = await oDataRepository
                           .ExecuteQuery <ProductViewModel, ProductViewModelGrouping>
                               (queryProvider)
            };


            ViewBag.AllTypes = (await TypesRepository.GetPage <DisplayValue>(null, m => m.OrderBy(n => n.Display), 1, 1000)).Data;

            return(View(model));
        }
        public async Task <IActionResult> IndexPartial(int?page)
        {
            var query = queryProvider?.Parse <ProductViewModel>();
            int pg    = page.HasValue ? page.Value : 1;

            if (pg < 1)
            {
                pg = 1;
            }

            var model = new ProductlistViewModel
            {
                Products = await Repository.GetPage <ProductViewModel>(
                    query?.GetFilterExpression(),
                    q => q.OrderBy(m => m.Name),
                    pg, 3)
            };
            var res = PartialView("_gridIndex", model);

            return(res);
        }
예제 #5
0
        // GET: Product
        public ActionResult List(string category, int page = 1)
        {
            ProductlistViewModel model = new ProductlistViewModel
            {
                Products = repository.Products
                           .Where(p => category == null || p.category == category)
                           .OrderBy(p => p.ProductId)
                           .Skip((page - 1) * pageSize)
                           .Take(pageSize),
                PgingInfo = new PagingInfo
                {
                    CurrentPages = page, ItemsPerPage = pageSize,

                    TotalItems = category == null?repository.Products.Count() : repository.Products.Where(e => e.category == category).Count()
                }
                ,
                CurrentCategory = category
            };

            return(View(model));
            // return View(repository.Products.OrderBy(P=>P.ProductId).Skip((page - 1)* pageSize).Take(pageSize));
        }
예제 #6
0
 public SettingsPage()
 {
     InitializeComponent();
     BindingContext = new ProductlistViewModel();
 }