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); }
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()); }
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")); } }