• Microsoft .NET
  • ASP.NET
  • Создание динамического пользовательского интерфейса ASP.NET, управляемого данными

Руководство по Catharsis - часть 2: пример Catharsis - Объект поиска

ОГЛАВЛЕНИЕ

 

Теперь мы можем изучить объект поиска:

А вот как устанавливается объект поиска:

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) параметра поиска может быть принято.