Руководство по 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.

Это также важный файл, поэтому мы рассмотрим каждую его часть: