public IActionResult Index() { string sessionId = _cookie.Get("SpacePlanetsSession"); var viewModel = new ItemsIndexViewModel(_authenticationService, _objectService, sessionId); return(View(viewModel)); }
// GET: Site public ActionResult Index() { // Get the logged in Site ID from the session int?SiteID = Session["SiteID"] as int?; // if there is none, redirect to the login page if (!SiteID.HasValue) { return(RedirectToAction("Login", "Account")); } ItemsIndexViewModel vm = new ItemsIndexViewModel { SiteID = SiteID.Value, SiteNameFilterOperator = "Only" }; // find out if the current Site has a Food Bank or not vm.HasFoodBank = Int32.Parse(SqlHelper.ExecuteScalar("SELECT COUNT(*) FROM foodbank WHERE SiteID = " + SiteID.Value).ToString()) > 0; // Get all Items with no filters string sql = String.Format("SELECT ItemID, ItemName, NumberOfUnits, ExpirationDate, StorageType, SiteID, Category1, Category2 FROM item"); // Initialize the view model Items list vm.Items = GetItems(sql); // Populate the select lists vm.SiteNameFilterOperatorOptions = GetSiteNameFilterOperators(); vm.SiteNameFilterOptions = GetFoodBankSelectList(true); vm.ExpirationDateFilterOptions = GetDateFilterOperators(); vm.FoodOrSupplyFilterOptions = GetFoodOrSupplyFilterOptions(); vm.StorageTypeFilterOptions = GetStorageTypeFilterOptions(); vm.Category2FilterOptions = GetCategory2FilterOptionsAsSelectList(vm.FoodOrSupplyFitlerValue); return(View(vm)); }
public ItemIndexPage() { InitializeComponent(); BindingContext = viewModel = new ItemsIndexViewModel(); }
public ActionResult Index(ItemsIndexViewModel vm) { ModelState.Remove("Items"); // dynamically build our search query here StringBuilder sb = new StringBuilder(); sb.Append("SELECT ItemID, ItemName, NumberOfUnits, ExpirationDate, StorageType, SiteID, Category1, Category2 FROM item "); bool firstWhereLineStarted = false; // need to know to use WHERE or AND.. if (vm.SiteNameFilterEnabled) { if (vm.SiteNameFilterOperator.Equals("Only")) { sb.Append(" WHERE SiteID = " + vm.SiteNameFilterValue.ToString() + " "); } else { sb.Append(" WHERE SiteID != " + vm.SiteNameFilterValue.ToString() + " "); } firstWhereLineStarted = true; } if (vm.ExpirationDateFilterEnabled && !String.IsNullOrWhiteSpace(vm.ExpirationDateFilterValue)) { if (!firstWhereLineStarted) { sb.Append(" WHERE "); } else { sb.Append(" AND "); } sb.Append(" ExpirationDate " + vm.ExpirationDateFilterOperator + " '" + vm.ExpirationDateFilterValue + "' "); firstWhereLineStarted = true; } if (vm.StorageTypeFilterEnabled && !String.IsNullOrWhiteSpace(vm.StorageTypeFilterValue)) { if (!firstWhereLineStarted) { sb.Append(" WHERE "); } else { sb.Append(" AND "); } sb.Append(" StorageType = '" + vm.StorageTypeFilterValue + "' "); firstWhereLineStarted = true; } if (vm.FoodOrSupplyFilterEnabled && !String.IsNullOrWhiteSpace(vm.FoodOrSupplyFitlerValue)) { if (!firstWhereLineStarted) { sb.Append(" WHERE "); } else { sb.Append(" AND "); } sb.Append(" Category1 = '" + vm.FoodOrSupplyFitlerValue + "' "); firstWhereLineStarted = true; } if (vm.Category2FilterEnabled && !String.IsNullOrWhiteSpace(vm.Category2FitlerValue)) { if (!firstWhereLineStarted) { sb.Append(" WHERE "); } else { sb.Append(" AND "); } sb.Append(" Category2 = '" + vm.Category2FitlerValue + "' "); firstWhereLineStarted = true; } if (vm.ItemNameFilterEnabled && !String.IsNullOrWhiteSpace(vm.ItemNameFilterValue)) { if (!firstWhereLineStarted) { sb.Append(" WHERE "); } else { sb.Append(" AND "); } sb.Append(" ItemName like '%" + vm.ItemNameFilterValue + "%' "); firstWhereLineStarted = true; } // Initialize the view model Items list vm.Items = GetItems(sb.ToString()); // Re-populate the select lists vm.SiteNameFilterOperatorOptions = GetSiteNameFilterOperators(); vm.SiteNameFilterOptions = GetFoodBankSelectList(false); vm.ExpirationDateFilterOptions = GetDateFilterOperators(); vm.FoodOrSupplyFilterOptions = GetFoodOrSupplyFilterOptions(); vm.StorageTypeFilterOptions = GetStorageTypeFilterOptions(); vm.Category2FilterOptions = GetCategory2FilterOptionsAsSelectList(vm.FoodOrSupplyFitlerValue); return(View(vm)); }