public FieldApiController(IFormProvider formProvider, IFieldProvider fieldProvider, IControlMatcher controlMatcher, IHumanizer humanizer) { FormProvider = formProvider; FieldProvider = fieldProvider; ControlMatcher = controlMatcher; Humanizer = humanizer; }
public static IDictionary <string, IFieldReader <TItem> > GetReaders <TItem>(this IFieldProvider <TItem> fieldProvider, [NotNull] IEnumerable <string> fieldNames) where TItem : class { if (fieldProvider == null) { throw new ArgumentNullException(nameof(fieldProvider)); } if (fieldNames == null) { throw new ArgumentNullException(nameof(fieldNames)); } var dict = new Dictionary <string, IFieldReader <TItem> >(); foreach (string fieldName in fieldNames) { if (!fieldProvider.FieldExists(fieldName)) { throw new FieldNotFoundException(fieldName, false); } IFieldReader <TItem> reader = fieldProvider.GetReader(fieldName); if (reader == null) { throw new FieldOperationNotAllowedException(fieldName, FieldOperation.Read); } dict.Add(fieldName, reader); } return(dict); }
private Expression ParseFieldExpression() { ParameterExpression key = Expression.Parameter(typeof(int), "index"); IFieldContext fieldContext = new FieldContext(this, key); LabelTarget labelBreak = Expression.Label("_break"); ParseFieldProviderExpressions providerExpressions = null; if (_providers.Count == 1) { IFieldProvider provider = _providers[0]; providerExpressions = new ParseFieldProviderExpressions(provider, fieldContext); return(ParseFieldPart(fieldContext, providerExpressions)); } else { List <ParseFieldProviderExpressions> providerExpressionsList = _providers .Select(p => new ParseFieldProviderExpressions(p, fieldContext)) .ToList(); IEnumerable <Expression> providerParseParts = ParseFieldProviderParts(fieldContext, providerExpressionsList); return(Expression.Block(providerParseParts.ToArray())); } }
public static Type GetDynamicType <TItem>(IFieldProvider <TItem> fieldProvider, IEnumerable <string> fields) where TItem : class { var dynamicFields = fields.Select(f => new KeyValuePair <string, Type>(f, fieldProvider.GetReader(f).FieldType)); Type dynamicType = LinqRuntimeTypeBuilder.GetDynamicType(dynamicFields); return(dynamicType); }
public SectionAppearanceConverter(IMetadataProvider metadataProvider, IDestMasterRepository destMasterRepository, IItemConverter itemConverter, IItemFactory itemFactory, IFieldProvider fieldProvider, AppSettings appSettings) : base(destMasterRepository, itemConverter, itemFactory, appSettings) { _destMasterRepository = destMasterRepository; _metadataProvider = metadataProvider; _fieldProvider = fieldProvider; _appSettings = appSettings; }
public SubmitConverter(IMetadataProvider metadataProvider, IDestMasterRepository destMasterRepository, IItemConverter itemConverter, IItemFactory itemFactory, IFieldProvider fieldProvider, AppSettings appSettings, IReporter analysisReporter) : base(destMasterRepository, itemConverter, itemFactory, appSettings) { _destMasterRepository = destMasterRepository; _metadataProvider = metadataProvider; _fieldProvider = fieldProvider; _appSettings = appSettings; _analysisReporter = analysisReporter; }
public FieldApiController(ILogger <FieldApiController> logger, IFormProvider formProvider, IFieldProvider fieldProvider, IControlMatcher controlMatcher, IHumanizer humanizer, IPluralizer pluralizer, ISingularizer singularizer) { Logger = logger; FormProvider = formProvider; FieldProvider = fieldProvider; ControlMatcher = controlMatcher; Humanizer = humanizer; Pluralizer = pluralizer; Singularizer = singularizer; }
public MemberInitExpression Build <TItem>(ParameterExpression itemPram, IFieldProvider <TItem> fieldProvider) where TItem : class { return(Build(delegate(FieldInfo fi) { IFieldReader <TItem> reader = fieldProvider.GetReader(fi.Name); Debug.Assert(reader != null, "Reader should definitely not be null here."); return Expression.Bind(fi, reader.GetSelectExpression(itemPram)); })); }
public static bool TryGetModelValue <T>(this IFieldProvider fieldProvider, object model, out T value) { if (!fieldProvider.TryGetModelValue(model, out object val)) { value = default; return(false); } value = (T)val; return(true); }
internal static LambdaExpression GetMemberInitLambda <TNav>(IFieldProvider <TNav> fieldProvider) where TNav : class { ParameterExpression navigationParam = Expression.Parameter(typeof(TNav), "n"); Type dynamicType = FieldProviderUtility.GetDynamicType(fieldProvider); var initExpressionBuilder = new MemberInitExpressionBuilder(dynamicType); MemberInitExpression memberInitExpr = initExpressionBuilder.Build(navigationParam, fieldProvider); var nullCondition = ExpressionTreeHelpers.NullConditional(memberInitExpr, navigationParam); var nullCheckInitLambda = Expression.Lambda(nullCondition, navigationParam); return(nullCheckInitLambda); }
public bool TryGetField(string fieldName, out IFieldProvider field) { if (fieldName == null) { throw new ArgumentNullException(nameof(fieldName)); } if (!fieldNames.TryGetValue(fieldName.ToLower(), out int index)) { field = null; return(false); } field = fields[index]; return(true); }
public InjectedEngineContext([NotNull] IDataTransaction transaction, [NotNull] IEngineRepository <TItem> repository, [NotNull] IIdentifierProvider <TItem> identifiers, [NotNull] IFieldProvider <TItem> fields, [NotNull] IAuthorizationChecker <TItem> authorizationChecker) { if (repository == null) { throw new ArgumentNullException(nameof(repository)); } if (fields == null) { throw new ArgumentNullException(nameof(fields)); } if (authorizationChecker == null) { throw new ArgumentNullException(nameof(authorizationChecker)); } Repository = repository; Identifiers = identifiers; Fields = fields; AuthorizationChecker = authorizationChecker; Transaction = transaction; }
private void Construct(PhysicsCache physicsCache, EventManager eventManager, IRayProvider rayProvider, ISelector selector, IFieldProvider fieldProvider, IPieceProvider pieceProvider, ICaptureVerifier captureVerifier, IGameFinisher gameFinisher, IPhaseManager phaseManager, ITurnManager turnManager, IWallVerifier wallVerifier) { _physicsCache = physicsCache; _eventManager = eventManager; _rayProvider = rayProvider; _selector = selector; _fieldProvider = fieldProvider; _pieceProvider = pieceProvider; _captureVerifier = captureVerifier; _gameFinisher = gameFinisher; _phaseManager = phaseManager; _turnManager = turnManager; _wallVerifier = wallVerifier; }
public FormInstanceInitializer(IFormProvider formProvider, IFieldProvider fieldProvider, IPropertySetter propertySetter) { FormProvider = formProvider; FieldProvider = fieldProvider; PropertySetter = propertySetter; }
public static IDictionary <string, IFieldReader <TItem> > GetReaders <TItem>(this IFieldProvider <TItem> fieldProvider, int nestedBy) where TItem : class { return(fieldProvider.GetReaders(fieldProvider.GetDefaultNames(nestedBy))); }
// some similarities here with QueryableFieldSelectorBase public static Type GetDynamicType <TItem>(IFieldProvider <TItem> fieldProvider, int nestedBy = 1) where TItem : class { return(GetDynamicType(fieldProvider, fieldProvider.GetDefaultNames(nestedBy))); }
public ParseFieldProviderExpressions(IFieldProvider provider, IFieldContext fieldContext) { StartingIndex = Expression.Constant(provider.StartingIndex); DeserializeAndSaveFieldExpression = provider.DeserializeAndSaveFieldExpression(fieldContext); }
private Expression FillFieldListPart(IFieldProvider provider) { ParameterExpression keyEnumerator = Expression.Parameter(typeof(IEnumerator <int>), "keyEnumerator"); ParameterExpression key = Expression.Parameter(typeof(int), "key"); ParameterExpression lastFieldPosition = Expression.Parameter(typeof(long), "lastFieldPosition"); LabelTarget labelTargetContinue = Expression.Label("_continue"); LabelTarget labelTargetBreak = Expression.Label("_break"); return(Expression.Block( new ParameterExpression[] { key, keyEnumerator }, Expression.Assign( keyEnumerator, Expression.Call( provider.KeyEnumerableExpression(this), _getIntEnumerator)), Expression.TryFinally( Expression.Loop( Expression.IfThenElse( Expression.Call(keyEnumerator, _intMoveNext), Expression.Block( new ParameterExpression[] { lastFieldPosition }, Expression.Assign(key, Expression.Property(keyEnumerator, _intCurrent)), Expression.IfThen( Expression.Not(provider.ShouldSkipFieldExpression(new FieldContext(this, key))), Expression.Block( Expression.Assign( lastFieldPosition, Expression.Property(FillFieldListParams.DataStream, _streamPositionProperty)), provider.SerializeFieldExpression(new FieldContext(this, key)), Expression.Call( FillFieldListParams.FieldLengths, _listAddMethod, Expression.New( _fieldLengthInfoCtor, Expression.Add(Expression.Constant(provider.StartingIndex), key), Expression.Subtract( Expression.Property(FillFieldListParams.DataStream, _streamPositionProperty), lastFieldPosition))) ) ) ), Expression.Break(labelTargetBreak)), labelTargetBreak, labelTargetContinue), Expression.IfThen( Expression.NotEqual(keyEnumerator, Expression.Constant(null)), Expression.Call(keyEnumerator, _dispose))) )); }
private void Construct(IFieldProvider fieldProvider) { _fieldProvider = fieldProvider; }
public QueryableFieldFilter(IFieldProvider <TItem> fieldProvider, [CanBeNull] IEnumerable <FilterInstruction> instructions) { _fieldProvider = fieldProvider; _instructions = instructions; }
public QueryableFieldSetter([NotNull] IDataTransaction dataTransaction, [NotNull] IFieldProvider <TItem> fieldProvider, [NotNull] IAuthorizationChecker <TItem> authChecker) { _dataTransaction = dataTransaction ?? throw new ArgumentNullException(nameof(dataTransaction)); _fieldProvider = fieldProvider ?? throw new ArgumentNullException(nameof(fieldProvider)); _authChecker = authChecker ?? throw new ArgumentNullException(nameof(authChecker)); }
public QueryableFieldSelector([NotNull] IFieldProvider <TItem> fieldProvider, [NotNull] IEnumerable <string> fieldNames) : this(fieldProvider.GetReaders(fieldNames)) { }
internal NamedField(string name, IFieldProvider <TItem> provider) { _lazyReader = new Lazy <IFieldReader <TItem> >(() => provider.GetReader(name)); _lazyWriter = new Lazy <IFieldWriter <TItem> >(() => provider.GetWriter(name)); Name = name; }
public static T GetModelValue <T>(this IFieldProvider fieldProvider, object model) { var value = fieldProvider.GetModelValue(model); return((T)value); }
public FieldAuthChecker(IFieldProvider <TItem> fieldProvider, IAuthorizationChecker <TItem> authChecker, IDeferredItem <TItem> item) { _fieldProvider = fieldProvider; _authChecker = authChecker; _item = item; }
private void Construct(IFieldProvider fieldProvider, IGameFinisher gameFinisher) { _fieldProvider = fieldProvider; _gameFinisher = gameFinisher; }
internal QueryableFieldSorter(IFieldProvider <TItem> fieldProvider, [CanBeNull] IEnumerable <SortInstruction> instructions) { _fieldProvider = fieldProvider; _instructions = instructions; }