Руководство по Catharsis - часть 2: пример Catharsis - Экран List
ОГЛАВЛЕНИЕ
Давайте изучим как экран List в приложении ищет и отображает агентов (Agents) в базе данных:
Файл aspx , который содержит указанную выше страницу, найден в веб-проекте:
Установка таблицы для отображения данных выполняется структурой. Структура автоматически создаст список. Добавление дополнительных колонок к списку может быть выполнено в методе OnBeforeList()из Controller искомой сущности.
А вот конструктор в фоновом коде List.aspx.cs:
namespace Firm.SmartControls.Web.Views.Agent
{
public partial class List : ViewPageBase<IAgentModel>
{
}
}
Мы можем заметить, что IAgentModel используется для создания списка.
Конструктор данного интерфейса показан далее:
[ConcreteType("Firm.SmartControls.Models.Insurance.AgentModel, Firm.SmartControls.Models")]
public interface IAgentModel : IBaseEntityModel<Agent>
{
/// <summary>
/// Параметры поиска для фильтрации списка агентов = 'Agent'
/// </summary>
new AgentSearch SearchParam { get; set; }
}
Как вы могли уже убедиться, нет необходимости в изменении большого количества кода во многих приложениях, ведь структура и Guidance создают множество требуемых файлов автоматически.
Давайте изучим сущность, используемую интерфейсом - сущность Agent.
Это также важный файл, поэтому мы рассмотрим каждую его часть: