/// <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);
        }
        public List <VMvehicle> GetVehiclesByFilter()
        {
            List <VMvehicle> _vMvehicles = new List <VMvehicle>();

            BO.SlctdFilters _slctdFilter = TempData["vehiclefilter"] as BO.SlctdFilters;

            List <BO.VehicleDetails> _result = BL.BLVehicle.GetVehicleByFilter(_slctdFilter);

            if (_result.Count != 0)
            {
                foreach (BO.VehicleDetails item in _result)
                {
                    _vMvehicles.Add(ToVMvehicle(item, _slctdFilter.StartDate, _slctdFilter.StartDate));
                }
            }
            return(_vMvehicles);
        }
        /// <summary>
        /// Affiche les promos de l'agence en session
        /// ou par défaut.
        /// </summary>
        /// <param name="officeName"></param>
        /// <returns></returns>
        // GET: Promos
        public ActionResult Index(string officeName)
        {
            BO.SlctdFilters _slctdFilters = new BO.SlctdFilters();

            //Récupération des options et sauvegarde en session.
            VMvehicleFilters _filters = (VMvehicleFilters)(Session["filters"]) ?? BLweb.BLweb.SetDefaultFilters(officeName);

            if (_filters.LstOffices.SelectedValue == null)
            {
                _filters = BLweb.BLweb.SetDefaultFilters(officeName);
            }
            if (_filters == null)
            {
                return(HttpNotFound());
            }
            Session["filters"] = _filters;
            return(View(GetPromosByOffice(_filters.LstOffices.SelectedValue.ToString())));
        }
        public ActionResult Fleet(string officeName)
        {
            BO.SlctdFilters _vehiclefilter = new BO.SlctdFilters();

            //Récupération des options et sauvegarde en session.
            VMvehicleFilters _filters = (VMvehicleFilters)(Session["filters"]) ?? BLweb.BLweb.SetDefaultFilters(officeName);

            if (_filters.LstOffices.SelectedValue == null)
            {
                _filters = BLweb.BLweb.SetDefaultFilters(officeName);
            }
            Session["filters"] = _filters;
            ViewBag.selectList = _filters.LstOffices;   //pour dropdown.
                                                        // Récup des véhicules à afficher.
            _vehiclefilter.OfficeName = _filters.LstOffices.SelectedValue.ToString();
            TempData["vehiclefilter"] = _vehiclefilter; // pour passage à GetVehiclesByFilter()
            return(View("Fleet", GetVehiclesByFilter()));
        }