public void Configure(EntityTypeBuilder <Transaction> builder) { builder.HasKey(x => x.Id); builder.Property(x => x.Id).ValueGeneratedNever(); builder.Property(x => x.ClientName) .HasColumnType("varchar(255)") .IsRequired(); builder.Property(x => x.Amount) .HasColumnType("decimal(38,18)"); IValueConverterFactory valueConverterFactory = new ValueConverterFactory(); var transactionStatusValueConverter = valueConverterFactory.CreateEnumToStringValueConverter <TransactionStatus>(); builder.Property(x => x.Status) .HasConversion(transactionStatusValueConverter) .HasColumnType("varchar(50)"); var transactionTypeValueConverter = valueConverterFactory.CreateEnumToStringValueConverter <TransactionType>(); builder.Property(x => x.Type) .HasConversion(transactionTypeValueConverter) .HasColumnType("varchar(50)");; }
public void TestFactoryRegisterNull() { //Given IValueConverter conv = null; //Then Assert.ThrowsAny <ArgumentNullException>(() => ValueConverterFactory.Register(conv)); }
public void TestFactoryRegister() { //Give var conv = new StringConverter(); //When ValueConverterFactory.Register(conv); //Then Assert.Equal(typeof(string), ValueConverterFactory.Get <string>().ConvertingType); }
private ExcelIteratorConfigurationBuilder() { _trimWhitespaceForColumnNames = false; _sheetName = string.Empty; _firstRowContainsColumnNames = true; _emptyColumnNamesSkipped = true; _propertyMaps = typeof(T).GetProperties() .Select(p => new ExcelIteratorPropertyMap { Property = p, MapStrategy = ExcelIteratorPropertyMapStrategy.ByName, ColumnName = p.Name, SourceValueConverter = ValueConverterFactory.Create(p.PropertyType) }) .ToList(); }
internal object ConvertBack([CanBeNull] object value, [NotNull] Type targetType, [CanBeNull] object parameter) { var valueConverter = ValueConverterFactory.GetOrCreate(_converterType); try { return(valueConverter.ConvertBack(value, targetType, parameter, _converterCulture)); } catch (Exception ex) { Log($"An \"{LogFormatter.FormatException(ex)}\" exception occurred while converting \"{value ?? "null"}\" value from the target item to the source one " + $"using \"{LogFormatter.FormatTypeName(_converterType)}\" value converter. This might reduce binding performance. " + $"Please return \"{nameof(BindingValue)}.{nameof(BindingValue.UnsetValue)}\" value instead of rising an exception."); return(BindingValue.UnsetValue); } }
internal override ItemContainerGenerator CreateItemContainerGenerator() { var pivotHeaderItemFactory = new FrameworkElementFactory(typeof(PivotHeaderItem)); if (this.ItemTemplate == null) { pivotHeaderItemFactory.SetBinding( BackgroundProperty, new Binding(nameof(PivotHeaderItem.IsSelected)) { RelativeSource = new RelativeSource(RelativeSourceMode.Self), Converter = ValueConverterFactory.Make <bool, Brush>(x => x ? SelectedItemBackgroundBrush : null), }); pivotHeaderItemFactory.SetBinding(ContentControl.ContentProperty, new Binding(nameof(PivotItem.Header))); // TODO: listBoxItemFactory.SetValue(TextBlock.FontSizeProperty, 20); } return(new ItemContainerGenerator(pivotHeaderItemFactory, this.Items)); }
static void testAssert <T>(string data, T value, bool givenExpectDataEqual = true) { //Given var conv = ValueConverterFactory.Get <T>(); //When conv.Serialize(value, typeof(T), out var data2); conv.Deserialize(data, typeof(T), out var value2); //Then if (givenExpectDataEqual) { Assert.Equal(data, data2); } else { Assert.NotEqual(data, data2); } Assert.Equal(value, value2); }