Руководство по Catharsis - часть 2: пример Catharsis - Объект поиска
ОГЛАВЛЕНИЕ
Страница 3 из 5
Теперь мы можем изучить объект поиска:
А вот как устанавливается объект поиска:
public class AgentSearch : BaseSearch<Agent>, ISearch<Agent>
{
#region properties
/// <summary>
/// Важно предоставить название Отличное от названия примера:
/// IsInternal -- IsInternalSearch!
/// Метод Bind привязывает оба: Search object + Example!
/// Является ли пример IsInternal типом bool или нет? - ведь это может навредит,
/// если null будет послано в IsInternal (которая должна быть IsInternalSearch)
/// </summary>
public virtual bool? IsInternalSearch { get; set; }
public virtual DateTime? StartedFrom { get; set; }
public virtual DateTime? StartedTo { get; set; }
public virtual DateTime? FinishedFrom { get; set; }
public virtual DateTime? FinishedTo { get; set; }
public virtual short? RatingFrom { get; set; }
public virtual short? RatingTo { get; set; }
public virtual decimal? CommissionRateFrom { get; set; }
public virtual decimal? CommissionRateTo { get; set; }
public virtual decimal? CommissionPeakFrom { get; set; }
public virtual decimal? CommissionPeakTo { get; set; }
#endregion properties
}
Важно отметить, что каждый элемент в поиске может быть nullable, как указано вопросительным знаком после типа данных. Это означает, что параметры поиска опциональны и предоставление пустого значения (null) для любого обнуляемого (nullable) параметра поиска может быть принято.