public static LocalValue <T> Build <WidgetT, T>( IReadWriteValueView <WidgetT, T> view, params Validate <T>[] validators) { var result = new LocalValue <T>(default(T), default(T)); view.BindReadWriteAndInitialize(result); validators.ForEach(y => result.AddValidatorAndRevalidate(y)); return(result); }
public static LocalValue <ModelT> Build <WidgetT, ModelT, ViewT>( ModelT defaultValue, IReadWriteValueView <WidgetT, ViewT> view, Func <ModelT, ViewT> convertFromDomain, Func <ViewT, ModelT> convertToDomain, params Validate <ModelT>[] validators) { var result = new LocalValue <ModelT>(defaultValue); view.BindReadWriteAndInitialize(result, convertFromDomain, convertToDomain); validators.ForEach(y => result.AddValidatorAndRevalidate(y)); return(result); }
public static LocalValue <int?> BuildNullableInt <WidgetT>( int?defaultValue, IReadWriteValueView <WidgetT, string> view, params Validate <int?>[] validators) { var result = new LocalValue <int?>(defaultValue); view.BindReadWriteAndInitialize(result, x => !x.HasValue ? "" : I18n.Localize(x.Value), x => string.IsNullOrEmpty(x) ? (int?)null : I18n.ParseInt(x)); validators.ForEach(y => result.AddValidatorAndRevalidate(y)); return(result); }
public static RemoteValue <DataT, RemOperResT> Build <WidgetT, DataT, RemOperResT>( DataT initialValue, Func <DataT, Task <RemOperResT> > saveOper, IReadWriteValueView <WidgetT, DataT> view, Func <RemOperResT, DataT> remToLocal, params Validate <DataT>[] validators) { return(new RemoteValue <DataT, RemOperResT>( initialValue, saveOper, remToLocal, initialization: x => { validators.ForEach(x.AddValidatorAndRevalidate); view.BindReadWriteAndInitialize(x); })); }
public ClassFieldRemoteMutator <DataT, DataT, ContT> Build <WidgetT, DataT>( Expression <Func <ContT, DataT> > getField, IReadWriteValueView <WidgetT, DataT> view, params Validate <DataT>[] validators) { return(new ClassFieldRemoteMutator <DataT, DataT, ContT>( getField, x => x, x => x, x => _caller.SaveField(ExpressionUtil.ExtractFieldName(getField), x), x => { validators.ForEach(y => x.AddValidatorAndRevalidate(y)); view.BindReadWriteAndInitialize(x); }, postOperationConsumerOrNull: _postOperationConsumerOrNull, postOperationInvokeBeforeChanged: _postOperationInvokeBeforeChanged)); }
public ClassFieldRemoteMutator <LocalT, RemT, ContT> BuildSingleChoiceDropDown <WidgetT, LocalT, RemT>( Expression <Func <ContT, RemT> > getRemoteField, IReadWriteValueView <WidgetT, LocalT> view, Func <LocalT, RemT> toRemoteType, Func <RemT, LocalT> toLocalType, params Validate <LocalT>[] validators) { return(new ClassFieldRemoteMutator <LocalT, RemT, ContT>( getRemoteField, toRemoteType, toLocalType, x => _caller.SaveField(ExpressionUtil.ExtractFieldName(getRemoteField), x), x => { validators.ForEach(y => x.AddValidatorAndRevalidate(y)); view.BindReadWriteAndInitialize(x); }, postOperationConsumerOrNull: _postOperationConsumerOrNull, postOperationInvokeBeforeChanged: _postOperationInvokeBeforeChanged)); }
public static RemoteValue <LocalT, RemOperResT> Build <WidgetT, LocalT, RemOperResT, ViewT>( LocalT initialValue, Func <LocalT, Task <RemOperResT> > saveOper, IReadWriteValueView <WidgetT, ViewT> view, Func <RemOperResT, LocalT> remToLocal, Func <LocalT, ViewT> convertFromDomain, Func <ViewT, LocalT> convertToDomain, params Validate <LocalT>[] validators) { return(new RemoteValue <LocalT, RemOperResT>( initialValue, saveOper, remToLocal, initialization: x => { validators.ForEach(x.AddValidatorAndRevalidate); view.BindReadWriteAndInitialize(x, convertFromDomain, convertToDomain); })); }
public static LocalValue <int> BuildInt <WidgetT>( int defaultvalue, IReadWriteValueView <WidgetT, string> view, params Validate <int>[] validators) { var result = new LocalValue <int>(defaultvalue); view.BindReadWriteAndInitialize(result, x => I18n.Localize(x), x => { try { var val = I18n.ParseInt(x); return(val); } catch (Exception ex) { Logger.Error(typeof(LocalValueFieldBuilder), "BuildInt converter got exception {0}", ex); throw new Exception( I18n.Translate("Wrong integer format entered. Remove letters or special characters")); } }); validators.ForEach(y => result.AddValidatorAndRevalidate(y)); return(result); }
public static Tuple <ValueChangedRich <T>, ValueChangedSimple <T> > BindReadWriteAndInitialize <WidgetT, T>( this IReadWriteValueView <WidgetT, T> view, IReadWriteValue <T> domain) { return(view.BindReadWriteAndInitialize(domain, x => x, x => x)); }