// GET: Admin/Products

        public ActionResult Index(int page = 1, int pageSize = 5)
        {
            var sessionLogin = SessionHelper.GetSessionLogin();

            if (sessionLogin == null)//ERROR: !=
            {
                //load product type dropdownlist
                ProductTypeDAO typeDao      = new ProductTypeDAO();
                var            productTypes = typeDao.GetSelectLists();
                ViewBag.productTypes = productTypes;

                //load list products
                var products = Session["productsShowing"] as List <Product>;
                if (products == null)
                {
                    ProductDAO proDao = new ProductDAO();
                    products = proDao.GetProducts();
                }

                return(View(products.ToPagedList(page, pageSize)));
            }
            else
            {
                return(RedirectToAction("Login", "User"));
            }
        }
        // GET: Admin/Products/Create
        public ActionResult Create()
        {
            ProductTypeDAO typeDAO = new ProductTypeDAO();
            var            types   = typeDAO.GetSelectLists();

            Session["types"] = types;
            return(View());
        }
        // GET: Admin/Products/Edit/5
        public ActionResult Edit(int id)
        {
            ProductTypeDAO typeDAO = new ProductTypeDAO();
            ProductDAO     proDAO  = new ProductDAO();

            Product product = proDAO.GetProductByID(id);

            Session["product"] = product;

            var types = typeDAO.GetSelectLists(product.productTypeId.GetValueOrDefault());

            Session["types"] = types;

            return(View());
        }
        public ActionResult Show(FormCollection form, int page = 1, int pageSize = 5)
        {
            ProductTypeDAO typeDao      = new ProductTypeDAO();
            var            productTypes = typeDao.GetSelectLists();

            ViewBag.productTypes = productTypes;

            //create search by multiple condition
            SearchModel searchModel = new SearchModel();

            //typeID condition
            bool check = int.TryParse(form["ddlType"], out int typeID);

            //Response.Write("<script>alert('"+check.ToString()+"');</script>");

            if (check)
            {
                searchModel.typeId = typeID;
            }

            //key words condition
            string keyWords = form["textSearch"].Trim();

            if (!string.IsNullOrEmpty(keyWords))
            {
                searchModel.keyWords = keyWords;
            }

            //prices condition
            string indexPrice = form["ddlPrice"];

            switch (indexPrice)
            {
            case "1":
                searchModel.fromNumber = 0;
                searchModel.toNumber   = 500000;
                break;

            case "2":
                searchModel.fromNumber = 500000;
                searchModel.toNumber   = 1000000;
                break;

            case "3":
                searchModel.fromNumber = 1000000;
                searchModel.toNumber   = 1500000;
                break;

            case "4":
                searchModel.fromNumber = 1500000;
                searchModel.toNumber   = 200000;
                break;

            case "5":
                searchModel.fromNumber = 200000;
                searchModel.toNumber   = 200000000;
                break;

            default:
                break;
            }

            //search
            ProductDAO pDao         = new ProductDAO();
            var        searchResult = pDao.Search(searchModel);

            return(View("~/Areas/Admin/Views/Products/Index.cshtml", searchResult.ToPagedList(page, pageSize)));
        }