{/// <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); }
/// <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); } }
/// <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 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()); }
/// <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(); } }
/// <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")); }