/// <summary> /// 初始化辅助数据写入器。 /// </summary> /// <param name="dataWriter">原始数据写入器</param> /// <param name="valueFilter">数据筛选器</param> public DataFilterWriter(IDataWriter <TKey> dataWriter, IValueFilter <TKey> valueFilter) { DataWriter = dataWriter; ValueFilter = valueFilter; ValueInfo = new ValueFilterInfo <TKey>(); }
/// <summary> /// 对数据源中的原有成员的名称和值进行筛选,并将满足筛选的结果写入到数据写入器中。 /// </summary> /// <param name="dataWriter">数据写入器</param> /// <param name="valueFilter">值筛选器</param> public void OnReadAll(IDataWriter <string> dataWriter, IValueFilter <string> valueFilter) { var filter = new DataFilterWriter <string>(dataWriter, valueFilter); if ((flags & XBindingFlags.SkipDefaultValue) != 0) { var valueCopyer = new ValueCopyer(); foreach (var item in fields) { item.OnReadValue(obj, valueCopyer); if (!valueCopyer.IsEmptyValue()) { valueCopyer.WriteTo(filter[item.Name]); } } } else { foreach (var item in fields) { item.OnReadValue(obj, filter[item.Name]); } } }
/// <summary> /// 对数据源中的原有成员的名称和值进行筛选,并将满足筛选的结果写入到数据写入器中。 /// </summary> /// <param name="dataWriter">数据写入器</param> /// <param name="valueFilter">值筛选器</param> public void OnReadAll(IDataWriter <string> dataWriter, IValueFilter <string> valueFilter) { var dataFilterWriter = new DataFilterWriter <string>(dataWriter, valueFilter); foreach (var item in rFields) { item.WriteTo(this, dataFilterWriter); } }
/// <summary> /// Adds an <see cref="IValueFilter"/> to the value filter set. /// </summary> /// <param name="valueFilter"> /// The filter to add. /// </param> /// <returns> /// The current <see cref="ValueFilterSet{T}"/>. /// </returns> public ValueFilterSet <T> Add([NotNull] IValueFilter valueFilter) { if (valueFilter == null) { throw new ArgumentNullException(nameof(valueFilter)); } this.valueFilters.Add(valueFilter); return(this); }
public void OnReadAll(IDataWriter <TKey> dataWriter, IValueFilter <TKey> valueFilter) { var valueInfo = new ValueFilterInfo <TKey>(); foreach (var item in content) { ValueInterface <TValue> .WriteValue(valueInfo.ValueCopyer, item.Value); valueInfo.Key = item.Key; valueInfo.Type = typeof(TValue); if (valueFilter.Filter(valueInfo)) { valueInfo.ValueCopyer.WriteTo(dataWriter[valueInfo.Key]); } } }
public void OnReadAll(IDataWriter <object> dataWriter, IValueFilter <object> valueFilter) { var valueInfo = new ValueFilterInfo <object>(); foreach (DictionaryEntry item in content) { ValueInterface.WriteValue(valueInfo.ValueCopyer, item.Value); valueInfo.Key = item.Key; valueInfo.Type = typeof(object); if (valueFilter.Filter(valueInfo)) { valueInfo.ValueCopyer.WriteTo(dataWriter[valueInfo.Key]); } } }
public void OnReadAll(IDataWriter <string> dataWriter, IValueFilter <string> valueFilter) { var valueInfo = new ValueFilterInfo <string>(); foreach (DataColumn item in Content.Table.Columns) { ValueInterface.GetInterface(item.DataType).Write(valueInfo.ValueCopyer, Content[item.Ordinal]); valueInfo.Key = item.ColumnName; valueInfo.Type = item.DataType; if (valueFilter.Filter(valueInfo)) { valueInfo.ValueCopyer.WriteTo(dataWriter[valueInfo.Key]); } } }
public void OnReadAll(IDataWriter<int> dataWriter, IValueFilter<int> valueFilter) { var valueInfo = new ValueFilterInfo<int>(); for (int i = 0; i < Content.Tables.Count; i++) { OnReadValue(i, valueInfo.ValueCopyer); valueInfo.Key = i; valueInfo.Type = typeof(DataTable); if (valueFilter.Filter(valueInfo)) { valueInfo.ValueCopyer.WriteTo(dataWriter[valueInfo.Key]); } } }
public override void OnReadAll(IDataWriter <int> dataWriter, IValueFilter <int> valueFilter) { int length = Count; var valueInfo = new ValueFilterInfo <int>(); for (int i = 0; i < length; ++i) { valueInfo.ValueCopyer.WriteArray(new ChildrenRW(this, i)); valueInfo.Key = i; valueInfo.Type = typeof(T[]); if (valueFilter.Filter(valueInfo)) { valueInfo.ValueCopyer.WriteTo(dataWriter[valueInfo.Key]); } } }
public void OnReadAll(IDataWriter <string> dataWriter, IValueFilter <string> valueFilter) { int length = Count; var valueInfo = new ValueFilterInfo <string>(); for (int i = 0; i < length; i++) { OnReadValue(i, valueInfo.ValueCopyer); valueInfo.Key = Content.Columns[i].ColumnName; valueInfo.Type = valueInfo.ValueCopyer.Type; if (valueFilter.Filter(valueInfo)) { valueInfo.ValueCopyer.WriteTo(dataWriter[valueInfo.Key]); } } }
/// <summary> /// 读取当前行的所有数据并进行筛选,然后将筛选结果写入器数据写入器中。 /// </summary> /// <param name="dataWriter">数据写入器</param> /// <param name="valueFilter">值筛选器</param> public void OnReadAll(IDataWriter <int> dataWriter, IValueFilter <int> valueFilter) { int length = dbDataReader.FieldCount; var valueInfo = new ValueFilterInfo <int>(); for (int i = 0; i < length; i++) { OnReadValue(i, valueInfo.ValueCopyer); valueInfo.Key = i; valueInfo.Type = valueInfo.ValueCopyer.Type; if (valueFilter.Filter(valueInfo)) { valueInfo.ValueCopyer.WriteTo(dataWriter[i]); } } }
public void OnReadAll(IDataWriter <int> dataWriter, IValueFilter <int> valueFilter) { int length = Count; var valueInfo = new ValueFilterInfo <int>(); for (int i = 0; i < length; ++i) { var value = content.content[baseIndex, i]; ValueInterface <T> .WriteValue(valueInfo.ValueCopyer, value); valueInfo.Key = i; valueInfo.Type = typeof(T); if (valueFilter.Filter(valueInfo)) { valueInfo.ValueCopyer.WriteTo(dataWriter[valueInfo.Key]); } } }
public virtual Task <ActionResult> ValueFilter(string property, string value, string selected = null) { return(Task.Run <ActionResult>(() => { IPropertyMetadata p = Metadata.GetProperty(property); if (p == null) { return new HttpStatusCodeResult(404); } ValueFilterAttribute filterAttribute = p.GetAttribute <ValueFilterAttribute>(); if (filterAttribute == null) { return new HttpStatusCodeResult(400); } IValueFilter filter = (IValueFilter)Resolver.GetService(filterAttribute.ValueFilter); ViewBag.Selected = selected; ViewBag.IsRequired = p.IsRequired; var collection = filter.GetValues(filterAttribute.DependencyProperty, value); return View(collection); })); }
/// <summary> /// 读取当前行的所有数据并进行筛选,然后将筛选结果写入器数据写入器中。 /// </summary> /// <param name="dataWriter">数据写入器</param> /// <param name="valueFilter">值筛选器</param> public void OnReadAll(IDataWriter <int> dataWriter, IValueFilter <int> valueFilter) { int length = dbDataReader.FieldCount; var valueInfo = new ValueFilterInfo <int>(); for (int i = 0; i < length; i++) { var value = dbDataReader[i]; ValueInterface.GetInterface(value).Write(valueInfo.ValueCopyer, value); valueInfo.Key = i; valueInfo.Type = dbDataReader.GetFieldType(i); if (valueFilter.Filter(valueInfo)) { valueInfo.ValueCopyer.WriteTo(dataWriter[valueInfo.Key]); } } }
public void OnReadAll(IDataWriter <int> dataWriter, IValueFilter <int> valueFilter) { int index = 0; var valueInfo = new ValueFilterInfo <int>(); while (tableReader.Read()) { valueInfo.ValueCopyer.WriteObject(tableReader); valueInfo.Key = index; valueInfo.Type = tableReader.GetType(); if (valueFilter.Filter(valueInfo)) { valueInfo.ValueCopyer.WriteTo(dataWriter[index]); } ++index; } }
public void OnReadAll(IDataWriter <int> dataWriter, IValueFilter <int> valueFilter) { int count = content.Count; var valueInfo = new ValueFilterInfo <int>(); for (int i = 0; i < count; i++) { var value = content[i]; ValueInterface <TValue> .Content.WriteValue(valueInfo.ValueCopyer, value); valueInfo.Key = i; valueInfo.Type = typeof(TValue); if (valueFilter.Filter(valueInfo)) { valueInfo.ValueCopyer.WriteTo(dataWriter[valueInfo.Key]); } } }
/// <summary> /// 对数据源中的原有成员的名称和值进行筛选,并将满足筛选的结果写入到数据写入器中。 /// </summary> /// <param name="dataWriter">数据写入器</param> /// <param name="valueFilter">值筛选器</param> public void OnReadAll(IDataWriter <string> dataWriter, IValueFilter <string> valueFilter) { var filter = new DataFilterWriter <string>(dataWriter, valueFilter); OnReadAll(filter); }
public static void Copy <T>(IDataReader dataReader, IDataWriter <T> dataWriter, IValueFilter <T> valueFilter) { Copy(dataReader.As <T>(), dataWriter, valueFilter); }
public static void Copy <T>(IDataReader <T> dataReader, IDataWriter <T> dataWriter, IValueFilter <T> valueFilter) { dataReader.OnReadAll(dataWriter, valueFilter); }
public void OnReadAll(IDataWriter <TIn> dataWriter, IValueFilter <TIn> valueFilter) => dataReader.OnReadAll(new AsReadAllWriter <TOut, TIn>(dataWriter), new AsReadAllFilter <TOut, TIn>(valueFilter));
/// <summary> /// 将数据中的所有转换后的键与值进行筛选,并将满足筛选的键与值写入到数据写入器中。 /// </summary> /// <param name="dataWriter">数据写入器</param> /// <param name="valueFilter">键值筛选器</param> public void OnReadAll(IDataWriter <TOut> dataWriter, IValueFilter <TOut> valueFilter) { dataRW.OnReadAll(new AsReadAllWriter <TIn, TOut>(dataWriter), new AsReadAllFilter <TIn, TOut>(valueFilter)); }
public void OnReadAll(IDataWriter <string> dataWriter, IValueFilter <string> valueFilter) { OnReadAll(new DataFilterWriter <string>(dataWriter, valueFilter)); }
public abstract void OnReadAll(IDataWriter <int> dataWriter, IValueFilter <int> valueFilter);
public ReadAllWriter(IDataWriter <TOut> dataWriter, IValueFilter <TOut> valueFilter) { this.dataWriter = dataWriter; this.valueFilter = valueFilter; }
public void OnReadAll(IDataWriter <int> dataWriter, IValueFilter <int> valueFilter) { OnReadAll(new DataFilterWriter <int>(dataWriter, valueFilter)); }
public virtual B SetValueFilter(IValueFilter <V> valueFilter) { _config._valueFilter = valueFilter; return((B)(object)this); }
public AsReadAllFilter(IValueFilter <TOut> valueFilter) { this.valueFilter = valueFilter; }
/// <summary> /// 将数据中的所有转换后的键与值进行筛选,并将满足筛选的键与值写入到数据写入器中。 /// </summary> /// <param name="dataWriter">数据写入器</param> /// <param name="valueFilter">键值筛选器</param> public void OnReadAll(IDataWriter <TOut> dataWriter, IValueFilter <TOut> valueFilter) { var readAllWriter = new ReadAllWriter(dataWriter, valueFilter); dataReader.OnReadAll(readAllWriter, readAllWriter); }