public SearchForecastsViewModel SearchForecastsHelper(SearchForecastsViewModel model) { IQueryable <Forecast> forecastList = forecastRepoInterface.ForecastList; if (model.ClassificationID != null) { forecastList = forecastList.Where(f => f.Crop.ClassificationID == model.ClassificationID); } if (model.Id != null) { forecastList = forecastList.Where(f => f.Id == model.Id); } // Do it for Crop as well if (model.CropID != null) { forecastList = forecastList.Where(f => f.CropID == model.CropID); } // Start and End date searching if (model.StartSearchDate != null) { forecastList = forecastList.Where(f => f.StartDate >= model.StartSearchDate.Value.Date); } if (model.EndSearchDate != null) { forecastList = forecastList.Where(f => f.EndDate <= model.EndSearchDate.Value.Date); } model.ForecastList = forecastList.ToList <Forecast>(); return(model); }
public IActionResult SearchDemandForecasts(SearchForecastsViewModel model) { ViewData["CropList"] = new SelectList(database.Crops, "CropID", "CropName"); IQueryable <Forecast> forecastList = database.Forecasts.Include(f => f.Crop).ThenInclude(c => c.Classification); //.ToList<Forecast>(); ToList gets data from the databse //.Include(d => d.Crop.Classification) if (model.ClassificationID != null) { forecastList = forecastList.Where(f => f.Crop.ClassificationID == model.ClassificationID); } // Do it for Crop as well if (model.CropID != null) { forecastList = forecastList.Where(f => f.Crop.CropID == model.CropID); } // Start and End date searching if (model.StartSearchDate != null) { forecastList = forecastList.Where(f => f.StartDate >= model.StartSearchDate.Value.Date); } if (model.EndSearchDate != null) { forecastList = forecastList.Where(f => f.EndDate <= model.EndSearchDate.Value.Date); } model.ForecastList = forecastList.ToList <Forecast>(); return(View(model)); }
public IActionResult SearchDemandForecasts() { ViewData["CropList"] = new SelectList(database.Crops, "CropID", "CropName"); SearchForecastsViewModel model = new SearchForecastsViewModel(); return(View(model)); }
public IActionResult SearchForecasts() { PopulateDropDownList(); SearchForecastsViewModel model = new SearchForecastsViewModel(); return(View(model)); }
public IActionResult SearchForecasts(SearchForecastsViewModel model) { PopulateDropDownList(); SearchForecastsViewModel resultModel = new SearchForecastsViewModel(); resultModel = SearchForecastsHelper(model); return(View(resultModel)); }
public void ShouldSearchForecastsWithoutInputs() { // 1. Arrange IQueryable <Forecast> mockForecastList = PopulateForecasts(); mockForecastRepo.Setup(m => m.ForecastList).Returns(mockForecastList); // 2. Act SearchForecastsViewModel model = new SearchForecastsViewModel(); SearchForecastsViewModel result = analystController.SearchForecastsHelper(model); // 3. Assert Assert.Equal(11, result.ForecastList.Count); Assert.Equal(mockForecastList.ToList <Forecast>(), model.ForecastList); }
public void ShouldSearchForecastsWithCropInput() { // 1. Arrange IQueryable <Forecast> mockForecastList = PopulateForecasts(); mockForecastRepo.Setup(m => m.ForecastList).Returns(mockForecastList); // 2. Act SearchForecastsViewModel model = new SearchForecastsViewModel(); model.CropID = 1; SearchForecastsViewModel result = analystController.SearchForecastsHelper(model); List <Forecast> expectedSearchResult = mockForecastList.Where(m => m.CropID == 1).ToList <Forecast>(); // 3. Assert Assert.Equal(10, result.ForecastList.Count); Assert.Equal(expectedSearchResult, model.ForecastList); }