Доброе утро,
У меня есть следующая строка кода:
var viewModel = new ClassifiedsBrowseViewModel
{
Category = categoryModel,
Listings = categoryModel.Listings.OrderBy(c => c.Price).ToList()
};
В мире все хорошо, и этот код работает нормально. Но теперь я хотел бы добавить оператор switch, который позволяет мне изменять то, по чему я упорядочиваю списки (в приведенном выше коде это упорядочено по цене).
Так что я, очевидно, не могу не заявить о переключении в рамках замедления новой модели, поэтому я буду помещать оператор переключения выше, например:
switch(searchCriteria)
{
case "Price":
break;
case default:
break;
}
Итак, мой вопрос, как мне связать их? Кстати, листинг объявлен в ViewModel как:
public List<Listing> Listings { get; set; }
Я подумал, что мог бы объявить переменную List в контроллере, а затем установить эту переменную в Switch на categoryModel.Listings.OrderBy (c => c. [Критерии поиска] ). ToList () и тогда просто есть листинги = листинги?
Большое спасибо,
J
Использование
Используя метод Рибона:
var viewModel = new ClassifiedsBrowseViewModel
{
Category = categoryModel,
Listings = categoryModel.Listings.OrderBy(c =>
{
switch (searchCriteria)
{
case "Price": return c.Price;
case "FuelType": return c.FuelType;
default: return c.Price;
}
}).ToList()
};