public IEnumerable <Product> GetPaginatedEntities(QueryOptions queryOptions)
        {
            using (CoreContext entityContext = new CoreContext())
            {
                var query = from a in entityContext.ProductSet
                            select a;

                query = (queryOptions.FilterFieldType == "string")
                    ? query.Where(p => p.Code.Contains(queryOptions.FilterOption) ||
                                  p.Name.Contains(queryOptions.FilterOption) ||
                                  p.AssetGL.Contains(queryOptions.FilterOption) ||
                                  p.LiabilityGL.Contains(queryOptions.FilterOption) ||
                                  p.IncomeGL.Contains(queryOptions.FilterOption) ||
                                  p.ExpenseGL.Contains(queryOptions.FilterOption)
                                  )
                    : query.Where(queryOptions.FilterField + " = " + queryOptions.FilterOption);

                var queryArray = query.OrderBy(queryOptions.Sort)
                                 .Skip(
                    QueryOptionsCalculator.CalculateStart(queryOptions)
                    ).Take(queryOptions.PageSize)
                                 .ToList();

                return(queryArray);
            }
        }
Esempio n. 2
0
        // GET: FuelReceipts
        public async Task <ActionResult> Index(int?id, [Form] TableQueryOptions queryOptions, string searchString)
        {
            ViewBag.QueryOptions = queryOptions;
            var start = QueryOptionsCalculator.CalculateStartPage(queryOptions);

            ViewBag.CarId = id;

            if (id != null)
            {
                var results = await dbReceipt.GetAll();

                var resultsCar = await dbCar.Get(id.GetValueOrDefault());

                ViewBag.CarName         = $"{resultsCar.CarProducer} {resultsCar.CarModel}";
                ViewBag.NumberOfEntries = results.Count();
                var receiptViewModels = results.Where(m => m.FueledCarId == id).Select(vm => vm.ToViewModel()).AsQueryable <FuelReceiptViewModel>();
                ViewBag.NumberOfEntries = receiptViewModels.Count();
                if (!String.IsNullOrEmpty(searchString))
                {
                    searchString      = searchString.ToUpper();
                    receiptViewModels = receiptViewModels.Where(r => r.RefuelingDate.ToString().Contains(searchString) || r.PetrolStationName.ToUpper().Contains(searchString) ||
                                                                r.FuelPrice.ToString().Contains(searchString) || r.FuelAmount.ToString().Contains(searchString) ||
                                                                r.FuelConsumption.ToString().Contains(searchString) || r.PriceFor100km.ToString().Contains(searchString));
                }
                queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages(receiptViewModels.Count(), queryOptions.PageSize);
                return(View(receiptViewModels.OrderBy(queryOptions.Sort).Skip(start).Take(queryOptions.PageSize).ToList()));
            }
            return(RedirectToAction("Index", "Cars"));
        }
Esempio n. 3
0
        public List <Author> Get(QueryOptions queryOptions)
        {
            var start   = QueryOptionsCalculator.ClaculateStart(queryOptions);
            var authors = db.Authors.OrderBy(queryOptions.Sort).Skip(start).Take(queryOptions.PageSize);

            queryOptions.TotalPages = QueryOptionsCalculator.CaclulateTotalPages(
                db.Authors.Count(), queryOptions.PageSize);

            return(authors.ToList());
        }
        public List <Author> Get(QueryOptions queryOptions)
        {
            var start   = QueryOptionsCalculator.CalculateStart(queryOptions);
            var authors = db.Authors
                          .OrderBy(queryOptions.Sort)
                          .Skip(start)
                          .Take(queryOptions.PageSize);

            queryOptions.TotalPages = (int)Math.Ceiling((double)db.Authors.Count() / queryOptions.PageSize);

            return(authors.ToList());
        }
Esempio n. 5
0
        public List <Author> Get(QueryOptions queryOptions)
        {
            //1 获得起始页码
            var start = QueryOptionsCalculator.CalculateStart(queryOptions);
            //2 获得作者集合
            var authors = db.Authors.
                          OrderBy(queryOptions.Sort).
                          Skip(start).
                          Take(queryOptions.PageSize);

            //3 获得总页码
            queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages(db.Authors.Count(), queryOptions.PageSize);

            return(authors.ToList());
        }
Esempio n. 6
0
        public async Task <ActionResult> Logs([Form] TableQueryOptions queryOptions, string searchString)
        {
            ViewBag.QueryOptions = queryOptions;
            var start     = QueryOptionsCalculator.CalculateStartPage(queryOptions);
            var logsModel = await _db.GetUsersData();

            ViewBag.NumberOfEntries = logsModel.Count();

            if (!String.IsNullOrEmpty(searchString))
            {
                searchString = searchString.ToUpper();
                logsModel    = logsModel.Where(l => l.UserName.ToUpper().Contains(searchString) || l.LogTime.ToString().Contains(searchString) || l.LogMessage.ToUpper().Contains(searchString));
            }
            queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages(logsModel.Count(), queryOptions.PageSize);

            return(View(logsModel.OrderBy(queryOptions.Sort).Skip(start).Take(queryOptions.PageSize).ToList()));
        }
Esempio n. 7
0
        public HttpResponseMessage GetAvailableProducts(HttpRequestMessage request, [FromUri] QueryOptions queryOptions)
        {
            return(GetHttpResponse(request, () =>
            {
                if (string.IsNullOrEmpty(queryOptions.SortField))
                {
                    queryOptions.SortField = "Code";
                }
                if (queryOptions.init)
                {
                    queryOptions.init = false;
                    queryOptions.CurrentPage = 1;
                    if (!string.IsNullOrEmpty(queryOptions.FilterField))
                    {
                        Double output;
                        Double.TryParse(queryOptions.FilterOption, out output);
                        if (queryOptions.FilterFieldType == "string")
                        {
                            queryOptions.TotalRecords = _CoreService.GetTotalRecordsCount("cor_product", queryOptions.FilterField, queryOptions.FilterOption, null);
                        }
                        else
                        {
                            queryOptions.TotalRecords = _CoreService.GetTotalRecordsCount("cor_product", queryOptions.FilterField, queryOptions.FilterOption, output);
                        }
                    }
                    else
                    {
                        queryOptions.TotalRecords = _CoreService.GetTotalRecordsCountProduct("cor_product", queryOptions.FilterOption);
                    }
                    queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages((UInt64)queryOptions.TotalRecords, queryOptions.PageSize);
                }
                if (queryOptions.TotalPages > 0 && queryOptions.TotalPages < (UInt64)queryOptions.CurrentPage)
                {
                    queryOptions.CurrentPage = (int)queryOptions.TotalPages;
                }

                Product[] Product = _CoreService.GetAvailableProduct(queryOptions);

                queryOptions.DisplayedRows = Product.Count();

                ResultData <Product> ResultData = new ResultData <Product>(Product.ToList(), queryOptions);

                return request.CreateResponse <ResultData <Product> >(HttpStatusCode.OK, ResultData);
            }));
        }
        public async Task <ActionResult> Index([Form] TableQueryOptions queryOptions, string searchString)
        {
            ViewBag.QueryOptions = queryOptions;
            var start = QueryOptionsCalculator.CalculateStartPage(queryOptions);
            var model = await db.GetAll();

            ViewBag.NumberOfEntries = model.Count();
            var viewModels = model.Select(m => m.ToViewModel());

            if (!String.IsNullOrEmpty(searchString))
            {
                searchString = searchString.ToUpper();
                viewModels   = viewModels.Where(c => c.CarModel.ToUpper().Contains(searchString) || c.CarProducer.ToUpper().Contains(searchString) ||
                                                c.CarProductionYear.ToString().Contains(searchString) || c.LpgInstallationModel.ToUpper().Contains(searchString) ||
                                                c.LpgInstallationProducer.ToUpper().Contains(searchString));
            }
            queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages(viewModels.Count(), queryOptions.PageSize);
            return(View(viewModels.OrderBy(queryOptions.Sort).Skip(start).Take(queryOptions.PageSize).ToList()));
        }
Esempio n. 9
0
        public List <Book> Get(QueryOptions queryOptions)
        {
            // First time will be Id
            if (queryOptions.SortField == "Id")
            {
                queryOptions.SortField = "Title";
            }

            var start = QueryOptionsCalculator.CalculateStart(queryOptions);

            var books = db.Book.
                        OrderBy(queryOptions.Sort).
                        Skip(start).
                        Take(queryOptions.PageSize);

            queryOptions.TotalPages =
                QueryOptionsCalculator.CalculateTotalPages(db.Book.Count(), queryOptions.PageSize);

            return(books.ToList());
        }
Esempio n. 10
0
        public List <Author> Get(QueryOptions queryOptions, int bookId = 0)
        {
            // First time will be Id
            if (queryOptions.SortField == "Id")
            {
                queryOptions.SortField = "LastName";
            }

            var start = QueryOptionsCalculator.CalculateStart(queryOptions);

            if (bookId == 0)
            {
                var authors = db.Author.
                              OrderBy(queryOptions.Sort).
                              Skip(start).
                              Take(queryOptions.PageSize);

                queryOptions.TotalPages =
                    QueryOptionsCalculator.CalculateTotalPages(db.Author.Count(), queryOptions.PageSize);

                return(authors.ToList());
            }
            else
            {
                var authors = (from a in db.Author
                               join b in db.BookAuthor
                               on a.Id equals
                               b.AuthorId
                               where b.BookId == bookId
                               select a).
                              OrderBy(queryOptions.Sort);

                queryOptions.TotalPages = 1;

                return(authors.ToList());
            }
        }