コード例 #1
0
 protected virtual IOrderedQueryable <TDatagridViewModel> Process <TDatagridViewModel>(IOrderedQueryable <TDatagridViewModel> collection, ISorterSettings sorterSettings)
 {
     return(sorterSettings.SortDirection == SortDirection.Asc
         ? collection.ThenBy(sorterSettings.ColumnName)
         : collection.ThenByDescending(sorterSettings.ColumnName));
 }
コード例 #2
0
        public virtual IList <ISorterSettings> CreateOrderAttributeColumnsSettingsCollection <TDatagridViewModel>(ISorterSettings sorterSettings)
        {
            var orderAttributes          = (OrderByAttribute[])typeof(TDatagridViewModel).GetCustomAttributes(typeof(OrderByAttribute), true);
            var sorterSettingsCollection = new List <ISorterSettings>();

            if (orderAttributes.Length == 0)
            {
                sorterSettingsCollection.Add(sorterSettings);
            }
            else
            {
                foreach (var orderAttribute in orderAttributes)
                {
                    sorterSettings = DatagridSettings.Factory.CreateStructure <ISorterSettings>();

                    sorterSettings.Set(orderAttribute.ColumnName, orderAttribute.Direction);
                    sorterSettingsCollection.Add(sorterSettings);
                }
            }

            return(sorterSettingsCollection);
        }