public IPropertyFilterInfo CreateFilterInfo(LogItemProperty prop, Action <LogItemProperty, Control> changedAction) { Control ctrl; if (prop == LogItemProperty.IsMarked) { CheckBox cb = new CheckBox(); cb.IsThreeState = true; cb.IsChecked = null; cb.Click += Cb_Click; ctrl = cb; } else { TextBox tb = new TextBox(); Style txtStyle = Application.Current.FindResource("RoundWatermarkTextBox") as Style; if (txtStyle != null) { tb.Style = txtStyle; } tb.KeyUp += Tb_KeyUp; ctrl = tb; } IPropertyFilter filter = CreateFilterProperty(prop, ctrl); ctrl.DataContext = new Holder(changedAction, prop, filter); return(new PropertyFilterInfo(ctrl, filter)); }
/// <summary> /// Gets reviews for the given property /// </summary> /// <param name="filter">Filter object used to filter, sort and page the results</param> /// <returns>Reviwes</returns> public virtual async Task <IEnumerable <IReview> > GetByPropertyIdAsync(IPropertyFilter filter) { if (filter == null) { filter = new PropertyFilter() { Page = 1, PageSize = 10, OrderBy = "id" }; } if (String.IsNullOrWhiteSpace(filter.OrderBy)) { filter.OrderBy = "id"; } var reviews = Repository.GetWhere <Review>() .Where(r => r.propertyid == filter.PropertyId); if (!String.IsNullOrWhiteSpace(filter.SearchTerm)) { reviews = reviews.Where(w => w.Property.name.Contains(filter.SearchTerm) || w.Property.address.Contains(filter.SearchTerm)); } reviews = reviews.OrderByDyn(filter.OrderBy, filter.OrderAsc) .ThenByDyn("id", true) .Skip(filter.Skip) .Take(filter.PageSize); return(Mapper.Map <IEnumerable <IReview> >(await reviews.ToListAsync())); }
public void Populate(T target, IPropertyFilter propertyFilter) { foreach (var prop in _set) { if (propertyFilter.IncludeProperty(prop)) { Property.Copy(prop, _proxy, target); } } }
public void Add(LogItemProperty prop, IPropertyFilter filter) { if (filter == null) { _filters.Remove(prop); } else { _filters[prop] = filter; } }
public IPropertyFilter ParseComponent <TDomain>(ICompositionService comp, PropertyFilterFactory <TDomain> factory, IPropertyFilter sourceFilter, IAuditProperty p, PropertyValueComparison cmp, string value) { var res = from prop in Maybe.Value(p as IAuditProperty <TProp>) from selector in comp.Get <PropertyValueSelectorCache <TProp> >().GetSelector(prop) from parsed in Maybe.SafeValue(() => selector.ParsePostedValue(value)) select sourceFilter == null?factory.Create(prop, parsed, cmp) : sourceFilter.And(prop, parsed, cmp); return(res.ValueOrNull() ?? sourceFilter); }
void IPartial.Populate(object target, IPropertyFilter propertyFilter) { if (target == null) { throw new ArgumentNullException(nameof(propertyFilter)); } if (!(target is T typedTarget)) { throw new ArgumentException($"Cannot populate object of type {target.GetType()}", nameof(target)); } Populate(typedTarget, propertyFilter); }
public static IPropertyFilter ParsePostedValue <TDomain>(ICompositionService comp, PropertyFilterFactory <TDomain> factory, IPropertyFilter sourceFilter, IAuditProperty p, PropertyValueComparison cmp, string value) { return(HelperFor(p).ParseComponent(comp, factory, sourceFilter, p, cmp, value)); }
public Holder(Action <LogItemProperty, Control> changedAction, LogItemProperty property, IPropertyFilter filter) { _changedAction = changedAction; _property = property; _filter = filter; }
/// <summary> /// Initializes a new instance of the <see cref="CostFilter"/> class. /// </summary> /// <param name="maximumCost">The maximum allowed cost</param> /// <param name="exceptionFilter">A filter that allows an exception to this rule</param> public CostFilter(int maximumCost, IPropertyFilter exceptionFilter) { _maximumCost = maximumCost; _exceptionFilter = exceptionFilter; }
public Task <IEnumerable <IReview> > GetByPropertyIdAsync(IPropertyFilter filter) { return(Repository.GetByPropertyIdAsync(filter)); }
public PropertyFilterInfo(Control control, IPropertyFilter filter) { Control = control; Filter = filter; }