public void Handle(Input.Filter action) { var filter = FindFilterForThisProperty(); if (filter != null) { if (!string.IsNullOrEmpty(action.Value)) { filter.Value = action.Value; } else { DataProvider.FilterOrderConfiguration.Filters.Remove(filter); } } else { DataProvider.FilterOrderConfiguration.Filters.Add(new Filter { PropertyName = this.PropertyName, Value = action.Value }); } LoadRowsFromFirstPage?.Invoke(); }
public void Handle(Input.Sort action) { var direction = ParseOrderDirection(action.Value); var config = this.DataProvider.FilterOrderConfiguration; if (!direction.HasValue) { config.Order = null; return; } if (config.Order == null) { config.Order = new Order(); } config.Order.PropertyName = this.PropertyName; config.Order.Direction = direction.Value; LoadRowsFromFirstPage?.Invoke(); }