public static FilterItem BuildFilterItem(object value, string propertyName, IFilterProperty filterProperty, Operation operation, Type entityType, String propLabel) { FilterItem fItem = new FilterItem(); fItem.Column = propertyName; fItem.Property = propertyName; fItem.FilterProperty = filterProperty; fItem.Operation = operation; fItem.EntityType = entityType; try { fItem.TableColumn = (filterProperty == IFilterProperty.ByParamenter) ? nHManager.Instance.GetTableColumn(entityType, propertyName) : null; } catch { } fItem.ColumnTitle = propLabel; if (filterProperty == IFilterProperty.ByParamenter) { if ((fItem.TableColumn.Type is NHibernate.Type.DateTimeType) || (fItem.TableColumn.Type is NHibernate.Type.DateType)) { if (fItem.Operation == Operation.Contains) { fItem.Operation = Operation.Equal; } switch (fItem.Operation) { case Operation.Equal: case Operation.Distinct: fItem.Value = ((DateTime)value).ToShortDateString() + " 0:00:00"; break; case Operation.Greater: case Operation.LessOrEqual: fItem.Value = ((DateTime)value).ToShortDateString() + " 23:59:59"; break; case Operation.Less: case Operation.GreaterOrEqual: fItem.Value = ((DateTime)value).ToShortDateString() + " 0:00:00"; break; } } else { fItem.Value = value; } } else { fItem.Value = value; } return(fItem); }
public void NewFilter(object value, string propertyName, IFilterProperty filterProperty, Operation operation, Type entityType, String propLabel) { this.Add(FilterMng.BuildFilterItem(value, propertyName, filterProperty, operation, entityType, propLabel)); }
public static void SetSelectAll <T1, T2>(T1 sender, ObservableCollection <T2> list) { IFilterProperty changedFilter = (IFilterProperty)sender; bool selectedValue = changedFilter.IsSelected; //Set select/unselect all if (string.IsNullOrEmpty(changedFilter.Value)) { bool allValue = changedFilter.IsSelected; if (allValue) { for (int i = 1; i < list.Count; i++) { IFilterProperty filter = (IFilterProperty)list[i]; if (filter.IsSelected != true) { filter.IsSelected = true; } } } } else { IFilterProperty allFilter = (IFilterProperty)list[0]; int matchCount = 0; for (int i = 1; i < list.Count; i++) { IFilterProperty filter = (IFilterProperty)list[i]; if (filter.IsSelected == selectedValue) { matchCount++; } } if (matchCount == list.Count - 1) { if (allFilter.IsSelected != true) { allFilter.IsSelected = true; } } else { if (allFilter.IsSelected) { allFilter.IsSelected = false; } } } }
public static FilterItem BuildFilterItem(object value, string propertyName, Type propertytype, IFilterProperty filterProperty, Operation operation) { FilterItem fItem = new FilterItem(); fItem.Column = propertyName; fItem.Property = propertyName; fItem.FilterProperty = filterProperty; fItem.Operation = operation; if (propertytype == typeof(DateTime)) { if (fItem.Operation == Operation.Contains) { fItem.Operation = Operation.Equal; } switch (fItem.Operation) { case Operation.Equal: case Operation.Distinct: fItem.Value = ((DateTime)value).ToShortDateString() + " 0:00:00"; break; case Operation.Greater: case Operation.LessOrEqual: fItem.Value = ((DateTime)value).ToShortDateString() + " 23:59:59"; break; case Operation.Less: case Operation.GreaterOrEqual: fItem.Value = ((DateTime)value).ToShortDateString() + " 0:00:00"; break; } } else { fItem.Value = value; } return(fItem); }
private IEnumerable <XNode> GetFilterPropertyNodes(IFilterProperty filterProperty) { var filterPropertyNode = new XElement(FileFormat.Node_FilterProperty); filterPropertyNode.Add(new XAttribute(FileFormat.Node_FilterProperty_Name, filterProperty.Name)); object propertyValue = filterProperty.Value; if (propertyValue != null) { FilterPropertyType propertyType = filterProperty.Type; if (IsSerializableAsString(propertyType)) { string valueAsStr = SerializeAsString(propertyType, propertyValue); filterPropertyNode.Add(new XAttribute(FileFormat.Node_FilterProperty_Value, valueAsStr)); } else { throw new NotImplementedException(); } } yield return(filterPropertyNode); }
public static FilterItem BuildFilterItem(object value, string propertyName, IFilterProperty filterProperty, Operation operation, Type entityType, String propLabel) { FilterItem fItem = new FilterItem(); fItem.Column = propertyName; fItem.Property = propertyName; fItem.FilterProperty = filterProperty; fItem.Operation = operation; fItem.EntityType = entityType; Type entityRecordType = AppControllerBase.AppControler.RecordEntities[fItem.EntityType]; try { fItem.TableColumn = (filterProperty == IFilterProperty.ByParamenter) ? nHManager.Instance.GetTableColumn(entityRecordType, propertyName) : null; } catch { /* no existe la propiedad en esta tabla por lo que es de un join */ } fItem.ColumnTitle = propLabel; if ((filterProperty == IFilterProperty.ByParamenter) && (fItem.TableColumn != null)) { if (fItem.TableColumn.Value.Type is NHibernate.Type.DateTimeType) { if (fItem.Operation == Operation.Contains) { fItem.Operation = Operation.Equal; } switch (fItem.Operation) { case Operation.Equal: case Operation.Distinct: fItem.Value = (value is DateTime) ? DateTime.Parse(((DateTime)value).ToShortDateString() + " 0:00:00") : DateTime.Parse(DateTime.Parse((string)value).ToShortDateString() + " 0:00:00"); break; case Operation.Greater: case Operation.LessOrEqual: fItem.Value = (value is DateTime) ? DateTime.Parse(((DateTime)value).ToShortDateString() + " 23:59:59") : DateTime.Parse(DateTime.Parse((string)value).ToShortDateString() + " 23:59:59"); break; case Operation.Less: case Operation.GreaterOrEqual: fItem.Value = (value is DateTime) ? DateTime.Parse(((DateTime)value).ToShortDateString() + " 0:00:00") : DateTime.Parse(DateTime.Parse((string)value).ToShortDateString() + " 0:00:00"); break; } } else { fItem.Value = value; } } else { fItem.Value = value; } return(fItem); }
public GraphNode(IFilter filter) { InitializeComponent(); _filter = filter; _filter.OnPinsChanged += OnPinsChanged; _filter.OnProcessingProgressChanged += OnProcessingProgressChanged; _filter.OnProcessingStateChanged += OnProcessingStateChanged; UpdateSize(_filter); var table = new TableLayoutPanel { Size = new Size(Width - 2, _filter.Properties.Count * PropertyHeight), Location = new Point(1, HeaderHeight + 2) }; table.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); table.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100)); for (int i = 0; i < _filter.Properties.Count; i++) { IFilterProperty property = _filter.Properties.Skip(i).First().Value; BasePropertyEditor editor; switch (property.Type) { case FilterPropertyType.String: editor = new PathEditor { Value = property.Value }; break; case FilterPropertyType.Float: case FilterPropertyType.Integer: editor = new NumericEditor((INumericProperty)property) { Value = Convert.ToDecimal(property.Value) }; break; case FilterPropertyType.Size: case FilterPropertyType.Point: editor = new PointEditor((IPointProperty)property) { Value = property.Value }; break; case FilterPropertyType.Enum: editor = new EnumEditor((IEnumProperty)property) { Value = property.Value }; break; default: throw new ArgumentOutOfRangeException(); } editor.Dock = DockStyle.Fill; editor.Margin = new Padding(0); editor.OnValueChanged += newValue => { property.Value = newValue; }; table.RowStyles.Add(new RowStyle(SizeType.AutoSize)); table.SetRow(editor, i); table.SetColumn(editor, 1); var label = new Label { Text = property.Name, Margin = new Padding(0), Dock = DockStyle.Right, AutoSize = true, Anchor = AnchorStyles.Right }; table.SetRow(label, i); table.SetColumn(label, 0); table.Controls.Add(label); table.Controls.Add(editor); } Controls.Add(table); }
protected void AddProperty(IFilterProperty property) { lock (_properties) _properties.Add(property.Name, property); }