Example #1
0
 public UsuarioAzureTable(
     IAzureTableDataBase database,
     ITwoWayConverter <Usuario, UsuarioEntity> convert
     )
 {
     _database = database;
     _convert  = convert;
 }
 public UsuarioControler(
     IUsuarioRepository usuarioRepository,
     ITwoWayConverter <Usuario, UsuarioDto> converter
     )
 {
     _usuarioRepository = usuarioRepository;
     _converter         = converter;
 }
Example #3
0
        public static IWritableRx <T> TwoWayBound <T, T0>(IWritableRx <T0> source, ITwoWayConverter <T, T0> converter, IEqualityComparer <T> equalityComparer = null)
        {
            IWritableRx <T> rx = new TwoWayBoundRx <T>(() => converter.Convert(source.Value), value => source.Value = converter.ConvertBack(value, source.Value), equalityComparer);

            source.Watch(rx.Update);

            return(rx);
        }
Example #4
0
        public ReadOnlySetConverter(IReadOnlySet <TSource> set, ITwoWayConverter <TSource, TResult> converter)
        {
            Contracts.Requires.That(set != null);
            Contracts.Requires.That(converter != null);

            this.set       = set;
            this.converter = converter;
        }
        public ConverterInterestMap(
            IInterestMap <TSource, TInterest> map, ITwoWayConverter <TResult, TSource> converter)
        {
            Contracts.Requires.That(map != null);
            Contracts.Requires.That(converter != null);

            this.map       = map;
            this.converter = converter;
        }
        public ConverterSerializer(
            ITwoWayConverter <TValue, TSerialize> converter, ISerializerDeserializer <TSerialize> serializer)
        {
            Contracts.Requires.That(converter != null);
            Contracts.Requires.That(serializer != null);

            this.converter  = converter;
            this.serializer = serializer;
        }
        public ConverterConstantSerializer(
            ITwoWayConverter <TValue, TSerialize> converter, IConstantSerializerDeserializer <TSerialize> serializer)
            : base(converter, serializer)
        {
            Contracts.Requires.That(converter != null);
            Contracts.Requires.That(serializer != null);

            this.SerializedLength = serializer.SerializedLength;
        }
Example #8
0
        public static Binder <TSource, SeekBar> Progress <TSource, TPropertyType>(this Binder <TSource, SeekBar> binder, Expression <Func <TSource, TPropertyType> > property, ITwoWayConverter <TPropertyType, float> converter = null)
            where TSource : class
        {
            converter = converter ?? Transmute.Transmuter.Default.GetTwoWayConverter <TPropertyType, float>();
            var finalconverter = converter.Chain(PercentToAmountConverter);

            return(binder.Property <TPropertyType, int, SeekBar.ProgressChangedEventArgs>(property, b => b.Progress, nameof(SeekBar.ProgressChanged), finalconverter));
        }
 public static ITwoWayConverter <TSource, TTarget> Chain <TSource, TBy, TTarget>(this ITwoWayConverter <TSource, TBy> first, ITwoWayConverter <TBy, TTarget> second)
 {
     return(new TwoWayConverter <TSource, TTarget>(first.ToTarget.Chain(second.ToTarget), second.ToSource.Chain(first.ToSource)));
 }
Example #10
0
 public static IReadOnlySet <TResult> Convert <TSource, TResult>(
     IReadOnlySet <TSource> set, ITwoWayConverter <TSource, TResult> converter) =>
 new ReadOnlySetConverter <TSource, TResult>(set, converter);
Example #11
0
 public static Binder <TSource, UISwitch> On <TSource, TPropertyType>(this Binder <TSource, UISwitch> binder, Expression <Func <TSource, TPropertyType> > property, ITwoWayConverter <TPropertyType, bool> converter = null)
     where TSource : class
 {
     return(binder.Property <TPropertyType, bool, EventArgs>(property, b => b.On, nameof(UISwitch.ValueChanged), converter));
 }
Example #12
0
        public static Binder <TSource, UISegmentedControl> Selected <TSource, TPropertyType>(this Binder <TSource, UISegmentedControl> binder, Expression <Func <TSource, TPropertyType> > property, ITwoWayConverter <TPropertyType, int> converter = null)
            where TSource : class
        {
            if (converter == null)
            {
                converter = Transmuter.Default.GetTwoWayConverter <TPropertyType, int>();
            }

            var nconverter = converter.Chain(Transmuter.Default.GetTwoWayConverter <int, nint>());

            return(binder.Property <TPropertyType, nint, EventArgs>(property, b => b.SelectedSegment, nameof(UISegmentedControl.ValueChanged), nconverter));
        }
Example #13
0
 public static Binder <TSource, CheckBox> Checked <TSource, TPropertyType>(this Binder <TSource, CheckBox> binder, Expression <Func <TSource, TPropertyType> > property, ITwoWayConverter <TPropertyType, bool> converter = null)
     where TSource : class
 {
     return(binder.Property <TPropertyType, bool, CompoundButton.CheckedChangeEventArgs>(property, b => b.Checked, nameof(CheckBox.CheckedChange), converter));
 }
Example #14
0
        public Binder <TSource, TTarget> Property <TSourceProperty, TTargetProperty, TTargetChangedEventArgs>(Expression <Func <TSource, TSourceProperty> > sourceProperty, Expression <Func <TTarget, TTargetProperty> > targetProperty, string targetChangedEvent, ITwoWayConverter <TSourceProperty, TTargetProperty> converter = null)
            where TTargetChangedEventArgs : EventArgs
        {
            var targetAccessors = targetProperty.BuildAccessors();

            return(this.Property <TSourceProperty, TTargetProperty, TTargetChangedEventArgs>(sourceProperty, targetAccessors.Item1, targetAccessors.Item2, targetChangedEvent, converter, targetAccessors.Item3));
        }
Example #15
0
        public Binder <TSource, TTarget> Property <TSourceProperty, TTargetProperty, TTargetChangedEventArgs>(Expression <Func <TSource, TSourceProperty> > sourceProperty, Func <TTarget, TTargetProperty> targetGetter, Action <TTarget, TTargetProperty> targetSetter, string targetChangedEvent, ITwoWayConverter <TSourceProperty, TTargetProperty> converter = null, string targetPropertyName = null)
            where TTargetChangedEventArgs : EventArgs
        {
            var forwardconverter = AssertConverter(converter?.ToTarget ?? Transmuter.Default.GetConverter <TSourceProperty, TTargetProperty>());
            var backConverter    = AssertConverter(converter?.ToSource ?? Transmuter.Default.GetConverter <TTargetProperty, TSourceProperty>());

            var r = this.Property(sourceProperty, targetGetter, targetSetter, forwardconverter);

            var sourceAccessors = sourceProperty.BuildAccessors();

            this.Invert().Add(new OneWayBinding <TTarget, TSource, TTargetProperty, TSourceProperty, TTargetChangedEventArgs>(Target, targetGetter, targetSetter, targetChangedEvent, Source, sourceAccessors.Item1, sourceAccessors.Item2, backConverter));
            return(r);
        }
Example #16
0
 public static Binder <TSource, UITextView> Text <TSource, TPropertyType>(this Binder <TSource, UITextView> binder, Expression <Func <TSource, TPropertyType> > property, ITwoWayConverter <TPropertyType, string> converter = null)
     where TSource : class
 {
     return(binder.Property <TPropertyType, string, EventArgs> (property, b => b.Text, nameof(UITextView.Changed), converter));
 }
Example #17
0
 public static Binder <TSource, UIDatePicker> Date <TSource, TPropertyType>(this Binder <TSource, UIDatePicker> binder, Expression <Func <TSource, TPropertyType> > property, ITwoWayConverter <TPropertyType, NSDate> converter = null)
     where TSource : class
 {
     return(binder.Property <TPropertyType, NSDate, EventArgs>(property, v => v.Date, nameof(UISlider.ValueChanged), converter));
 }