Exemple #1
0
        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));
        }
Exemple #2
0
        /// <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()));
        }
Exemple #3
0
 public void Populate(T target, IPropertyFilter propertyFilter)
 {
     foreach (var prop in _set)
     {
         if (propertyFilter.IncludeProperty(prop))
         {
             Property.Copy(prop, _proxy, target);
         }
     }
 }
Exemple #4
0
 public void Add(LogItemProperty prop, IPropertyFilter filter)
 {
     if (filter == null)
     {
         _filters.Remove(prop);
     }
     else
     {
         _filters[prop] = filter;
     }
 }
Exemple #5
0
            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);
            }
Exemple #6
0
        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);
        }
Exemple #7
0
 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));
 }
Exemple #8
0
 public Holder(Action <LogItemProperty, Control> changedAction, LogItemProperty property, IPropertyFilter filter)
 {
     _changedAction = changedAction;
     _property      = property;
     _filter        = filter;
 }
Exemple #9
0
 /// <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;
 }
Exemple #10
0
 public Task <IEnumerable <IReview> > GetByPropertyIdAsync(IPropertyFilter filter)
 {
     return(Repository.GetByPropertyIdAsync(filter));
 }
Exemple #11
0
 public PropertyFilterInfo(Control control, IPropertyFilter filter)
 {
     Control = control;
     Filter  = filter;
 }