コード例 #1
0
    {/// <summary>
     /// Créé les listes de sélection et assure qu'une agence
     /// soit sélectionnée.
     /// </summary>
     /// <param name="officeName"></param>
     /// <returns></returns>
        public static VMvehicleFilters SetDefaultFilters(string officeName)
        {
            VMvehicleFilters _filters = new VMvehicleFilters();

            //Récupération des options.

            {// Génère les listes des options de filtre en session.
                BO.FilterOptions _filterOptions = BL.BLVehicle.GetFilterOptions();
                if (_filterOptions.lstOffices.Contains("AirCar Belgium"))
                {
                    _filterOptions.lstOffices.Remove("AirCar Belgium");
                }
                _filters.LstOffices = new SelectList(_filterOptions.lstOffices);
                _filters.LstMakes   = new SelectList(_filterOptions.lstMakes);
                _filters.LstFuels   = new SelectList(_filterOptions.lstFuels);
                _filters.LstDoors   = new SelectList(_filterOptions.lstDoors);
            }
            // Selection de l'agence (office) à utiliser.
            //Si pas de paramètres fournis, agence par défaut.
            SelectList _selectList = _filters.LstOffices;
            string     _slctdOffice;

            _slctdOffice = (string.IsNullOrEmpty(officeName) != true) ? officeName :
                           (_selectList.SelectedValue != null) ? _selectList.SelectedValue.ToString() : // Si une agence a déjà été sélectionnée (via Session["slctdOffice").
                           _selectList.ElementAt(0).Text;                                               // sinon (en cas de session expirée)
            SelectList _updatedList = new SelectList(_filters.LstOffices.Items, _slctdOffice);          // _filters.LstOffices.FirstOrDefault(x => x.Text == _slctdOffice).Text);

            _filters.LstOffices = _updatedList;
            return(_filters);
        }
コード例 #2
0
        /// <summary>
        /// Mets à jour la liste des filtres.
        /// Appelle la fonction d'update si nécessaire.
        /// </summary>
        public void SetFilterOptions(BO.FilterOptions selectedOptions = null)
        {
            VMvehicleFilters _filters = new VMvehicleFilters();

            if (Session["filters"] == null)
            {
                _filterOptions = BL.BLVehicle.GetFilterOptions();
                if (_filterOptions.lstOffices.Contains("AirCar Belgium"))
                {
                    _filterOptions.lstOffices.Remove("AirCar Belgium");
                }
                _filters.LstOffices = new SelectList(_filterOptions.lstOffices);
                _filters.LstMakes   = new SelectList(_filterOptions.lstMakes);
                _filters.LstFuels   = new SelectList(_filterOptions.lstFuels);
                _filters.LstDoors   = new SelectList(_filterOptions.lstDoors);

                Session["filters"] = _filters;
            }
            else
            {
                _filters = Session["filters"] as VMvehicleFilters;
            }
            if (selectedOptions != null)
            {
                UpdateFilterOptions(selectedOptions);
            }
        }
コード例 #3
0
        /// <summary>
        /// Mets à jour les filtres pour dropdowns selection dans Session["filters"].
        /// </summary>
        /// <param name="filterOptions"></param>
        public BO.SlctdFilters UpdateFilterOptions(BO.FilterOptions filterOptions)
        {
            VMvehicleFilters _session = (VMvehicleFilters)Session["filters"];

            BO.SlctdFilters _slctdfilters = new BO.SlctdFilters();

            if (filterOptions.lstOffices != null && filterOptions.lstOffices[0] != "")
            {
                // Session["slctdOffice"] = filterOptions.lstOffices[0];     Pas utilisé pour éviter possible confusion/oubli.
                SelectList UpdatedLstOffices = new SelectList(_session.LstOffices.Items, filterOptions.lstOffices[0]);
                ((VMvehicleFilters)Session["filters"]).LstOffices = UpdatedLstOffices;
                _slctdfilters.OfficeName = filterOptions.lstOffices[0];
            }
            else if (_session.LstOffices.SelectedValue != null)
            {
                _slctdfilters.OfficeName = _session.LstOffices.SelectedValue.ToString();
            }

            if (filterOptions.lstMakes != null && filterOptions.lstMakes[0] != "")
            {
                SelectList UpdatedlstMakes = new SelectList(_session.LstMakes.Items, filterOptions.lstMakes[0]);
                ((VMvehicleFilters)Session["filters"]).LstMakes = UpdatedlstMakes;
                _slctdfilters.MakeName = filterOptions.lstMakes[0];
            }
            else if (_session.LstMakes.SelectedValue != null)
            {
                _slctdfilters.MakeName = _session.LstMakes.SelectedValue.ToString();
            }

            if (filterOptions.lstFuels != null && filterOptions.lstFuels[0] != "")
            {
                SelectList UpdatedlstFuels = new SelectList(_session.LstFuels.Items, filterOptions.lstFuels[0]);
                ((VMvehicleFilters)Session["filters"]).LstFuels = UpdatedlstFuels;
                _slctdfilters.FuelName = filterOptions.lstFuels[0];
            }
            else if (_session.LstFuels.SelectedValue != null)
            {
                _slctdfilters.FuelName = _session.LstFuels.SelectedValue.ToString();
            }

            if (filterOptions.lstDoors != null && filterOptions.lstDoors[0] != 0)
            {
                SelectList UpdatedlstDoors = new SelectList(_session.LstDoors.Items, filterOptions.lstDoors[0]);
                ((VMvehicleFilters)Session["filters"]).LstDoors = UpdatedlstDoors;
                _slctdfilters.DoorsCount = filterOptions.lstDoors[0];
            }
            else if (_session.LstDoors.SelectedValue != null)
            {
                _slctdfilters.DoorsCount = (byte)_session.LstDoors.SelectedValue;
            }

            return(_slctdfilters);
        }
コード例 #4
0
 public ActionResult Index()
 {
     if (Session["lstOffices"] == null)
     {
         BL.BLVehicle     _bLVehicle     = new BL.BLVehicle();
         BO.FilterOptions _filterOptions = _bLVehicle.GetFilterOptions(); // = new SelectList(_officeList, "Name", "Name", _officeList[0].Name);
         _filterOptions.lstOffices.Remove("AirCar Belgium");
         Session["lstOffices"] = new SelectList(_filterOptions.lstOffices);
         Session["lstMakes"]   = new SelectList(_filterOptions.lstMakes);
         Session["lstFuels"]   = new SelectList(_filterOptions.lstFuels);
         Session["lstDoors"]   = new SelectList(_filterOptions.lstDoors);
     }
     return(View());
 }
コード例 #5
0
        /// <summary>
        /// Test
        /// </summary>
        /// <returns></returns>
        public JsonResult SetOfficeFilter(string officeName)
        {
            try
            {
                BL.BLVehicle     _bLVehicle     = new BL.BLVehicle();
                BO.FilterOptions _filterOptions = _bLVehicle.GetFilterOptions();
                Session["lstMakes"] = new SelectList(_filterOptions.lstFuels);

                return(Json(new { result = "OK", makeOptions = _filterOptions.lstFuels }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                throw new NotImplementedException();
            }
        }
コード例 #6
0
 /// <summary>
 /// Rafraîchi la liste d'options en session et
 /// passe la main au VehicleController pour la
 /// récupération et affichage des véhicules.
 /// </summary>
 /// <param name="filterOptions"></param>
 //  [HttpGet]
 public ActionResult SetVehicles(BO.FilterOptions filterOptions)
 {
     TempData["vehiclefilter"] = UpdateFilterOptions(filterOptions);;  // ou (pour non objets) utiliser RouteValueDictionary {{vf = _vehiclefilter},{withPics = true}};
     return(RedirectToAction("GetSelection", "Vehicles"));
 }