Реализация атрибута ViewModel поиска в списке выбора

Я пытаюсь реализовать более настраиваемую версию использования атрибутов ViewModel и Model Enricher для заполнения списков моделей представлений, как в этом этом вопросе и связанные с ним запись в блоге.

Я хотел бы иметь возможность указать метод в моем интерфейсе списка выбора из атрибута.

Каждая служба списка выбора, которую я имею, возвращает IEnumerable, который я использую для создания списка выбора, и в настоящее время предоставляет интерфейс All, как это делает пример. Я могу легко использовать метод All, поскольку его предоставляют все интерфейсы. Однако я часто хочу иметь возможность использовать другие методы, такие как методы AllTradingCompanies() AllManafacturingCompanies() моего класса списка выбора, чтобы получить отфильтрованные списки.

В настоящее время похоже, что мне, возможно, придется реализовать пользовательский атрибут для сопоставления с конкретным, например. Атрибуты [AllCompanyList], но это уводит меня от хорошего универсального метода, который дает мне существующая версия. Я думаю, я мог бы использовать его, чтобы дополнить его, но тогда он начинает терять часть очарования. Я также внедряю IModelEnrichers, которые могут выполнять пользовательскую логику модели для каждого представления.

Любые мысли о хорошем способе реализации этого?


person GraemeMiller    schedule 22.09.2011    source источник


Ответы (1)


Я реализовал решение, используя пары атрибутов, чтобы определить требования к данным в ViewModel и поставщику данных, репозиторию или службе в моем домене. См. мой дополнительный вопрос, спрашивая, является ли это хорошей идеей.

person GraemeMiller    schedule 16.10.2011