public void GetHowManyPackagesOnCheckpoint()
 {
     PackagesController     controller = new PackagesController();
     PackageSearchViewModel viewModel  = new PackageSearchViewModel
     {
         CheckpointId = 1
     };
     var result = controller.Package(viewModel);
 }
        public void GetHowManyPackagesOnStatus()
        {
            PackagesController     controller = new PackagesController();
            PackageSearchViewModel viewModel  = new PackageSearchViewModel
            {
                Status = Status.StoppedByLegal
            };

            controller.Package(viewModel);
        }
Exemplo n.º 3
0
        public IActionResult Search(PackageSearchViewModel vm)
        {
            IEnumerable <Package> packageList;

            if (vm != null)
            {
                if (!string.IsNullOrEmpty(vm.SearchString))
                {
                    packageList = _packageDataService.Query(p => p.Location.Contains(vm.SearchString) && p.IsAvailable == true);

                    if (vm.MinPrice.HasValue && vm.MaxPrice.HasValue)
                    {
                        packageList = packageList.Where(p => p.Price <= vm.MaxPrice && p.Price >= vm.MinPrice);
                    }
                    else if (!vm.MinPrice.HasValue && vm.MaxPrice.HasValue)
                    {
                        packageList = packageList.Where(p => p.Price <= vm.MaxPrice);
                    }
                    else if (vm.MinPrice.HasValue && !vm.MaxPrice.HasValue)
                    {
                        packageList = packageList.Where(p => p.Price >= vm.MinPrice);
                    }
                    vm.Packages = packageList;
                    vm.Total    = packageList.Count();
                }
                else if (string.IsNullOrEmpty(vm.SearchString) && (vm.MinPrice.HasValue || vm.MaxPrice.HasValue))
                {
                    if (vm.MinPrice.HasValue && vm.MaxPrice.HasValue)
                    {
                        packageList = _packageDataService.Query(p => p.Price <= vm.MaxPrice && p.Price >= vm.MinPrice && p.IsAvailable == true);
                    }
                    else if (!vm.MinPrice.HasValue && vm.MaxPrice.HasValue)
                    {
                        packageList = _packageDataService.Query(p => p.Price <= vm.MaxPrice && p.IsAvailable == true);
                    }
                    else
                    {
                        packageList = _packageDataService.Query(p => p.Price >= vm.MinPrice && p.IsAvailable == true);
                    }
                    vm.Packages = packageList;
                    vm.Total    = packageList.Count();
                }
                else
                {
                    ViewBag.PackageSearch = "No packages available. Please try another location or price";
                }
                return(View(vm));
            }
            return(View());
        }
Exemplo n.º 4
0
        public IHttpActionResult Package(PackageSearchViewModel viewModel)
        {
            try
            {
                IQueryable <Package> packages = Db.Packages;

                if (viewModel.Status != null)
                {
                    packages = packages.Where(p => p.Status == viewModel.Status);
                }

                if (viewModel.CheckpointId != null)
                {
                    packages = packages.Where(p => p.LastCheckpointChecked == viewModel.CheckpointId);
                }

                return(Ok(packages));
            }
            catch
            {
                return(BadRequest("An error has occurred"));
            }
        }