|
@@ -9,34 +9,55 @@ namespace SASDesktop.ViewModels.Transport
|
|
|
{
|
|
|
class Create : BindableBase
|
|
|
{
|
|
|
- private Models.Brand _selectedBrand;
|
|
|
- private List<Models.Brand> _suggestedBrands;
|
|
|
+ // -- VIN --
|
|
|
private string _vin;
|
|
|
- private string _brandSearch;
|
|
|
+ public string VIN
|
|
|
+ {
|
|
|
+ get { return _vin; }
|
|
|
+ set { _vin = value; RaisePropertyChanged(nameof(VIN)); }
|
|
|
+ }
|
|
|
+
|
|
|
+ // -- Производитель --
|
|
|
+ // Выбранный производитель
|
|
|
+ private Models.Brand _selectedBrand;
|
|
|
+ public Models.Brand SelectedBrand
|
|
|
+ {
|
|
|
+ get { return _selectedBrand; }
|
|
|
+ set {
|
|
|
+ _selectedBrand = value;
|
|
|
|
|
|
+ // В поле ввода производителя должно подставиться имя
|
|
|
+ // производителя, но фильтрации происходить не должно
|
|
|
+ _brandSearch = _selectedBrand.Name;
|
|
|
+ RaisePropertyChanged(nameof(BrandSearch));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // Предлагаемые производители
|
|
|
+ private List<Models.Brand> _suggestedBrands;
|
|
|
public List<Models.Brand> SuggestedBrands
|
|
|
{
|
|
|
get { return _suggestedBrands; }
|
|
|
set { _suggestedBrands = value; RaisePropertyChanged(nameof(SuggestedBrands)); }
|
|
|
}
|
|
|
- public string VIN
|
|
|
- {
|
|
|
- get { return _vin; }
|
|
|
- set { _vin = value; RaisePropertyChanged(nameof(VIN)); }
|
|
|
- }
|
|
|
+ // Поиск производителя по имени
|
|
|
+ private string _brandSearch;
|
|
|
public string BrandSearch
|
|
|
{
|
|
|
get => _brandSearch;
|
|
|
set
|
|
|
{
|
|
|
- var db = new Models.SASEntities();
|
|
|
_brandSearch = value;
|
|
|
|
|
|
- // Применить фильтр
|
|
|
- _suggestedBrands.Clear();
|
|
|
- _suggestedBrands = new List<Models.Brand>(db.Brands.Where(b => b.Name.ToLower().Contains(_brandSearch.ToLower())));
|
|
|
+ // Обновление подсказок
|
|
|
+ // Если value - пустая строка, то в список попадают все
|
|
|
+ // сущности
|
|
|
+ var db = new Models.SASEntities();
|
|
|
+ SuggestedBrands = new List<Models.Brand>(
|
|
|
+ db.Brands.Where(b =>
|
|
|
+ string.IsNullOrWhiteSpace(_brandSearch) ||
|
|
|
+ b.Name.ToLower().Contains(_brandSearch.ToLower())
|
|
|
+ );
|
|
|
|
|
|
- RaisePropertyChanged(nameof(SuggestedBrands));
|
|
|
RaisePropertyChanged(nameof(BrandSearch));
|
|
|
}
|
|
|
}
|
|
@@ -44,7 +65,7 @@ namespace SASDesktop.ViewModels.Transport
|
|
|
public Create()
|
|
|
{
|
|
|
var db = new Models.SASEntities();
|
|
|
- _suggestedBrands = new List<Models.Brand>(db.Brands);
|
|
|
+ _suggestedBrands = new List<Models.Brand>();
|
|
|
}
|
|
|
}
|
|
|
}
|