public IActionResult Index()
        {
            string sessionId = _cookie.Get("SpacePlanetsSession");
            var    viewModel = new ItemsIndexViewModel(_authenticationService, _objectService, sessionId);

            return(View(viewModel));
        }
Example #2
0
        // 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();
        }
Example #4
0
        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));
        }