/// <summary>
 ///     Creates a new instance.
 /// </summary>
 /// <param name="keyProvider">Required. A function to return the value of the entity's primary key.</param>
 /// <param name="keyBinder">The binder for the entity id.</param>
 /// <param name="items">Required. The list of entities to pre-populate the current instance with.</param>
 public InMemoryRepository(
     IKeyProvider <TEntity, TKey> keyProvider,
     IKeyBinder <TEntity, TKey> keyBinder,
     IEnumerable <TEntity> items)
     : this(keyProvider, keyBinder, items, ObjectMapperManager.DefaultInstance)
 {
 }
 public InMemoryRepository(
     IKeyProvider <TEntity, Guid> keyProvider,
     IKeyBinder <TEntity, Guid> keyBinder,
     IEnumerable <TEntity> items)
     :
     base(keyProvider, keyBinder, items)
 {
 }
        /// <summary>
        ///     Creates a new instance.
        /// </summary>
        /// <param name="keyProvider">Required. A function to return the value of the entity's primary key.</param>
        /// <param name="keyBinder">The binder of the entity's id.</param>
        /// <param name="items">Required. The list of entities to pre-populate the current instance with.</param>
        /// <param name="mapper">Object mapper manager instance</param>
        public InMemoryRepository(
            IKeyProvider <TEntity, TKey> keyProvider,
            IKeyBinder <TEntity, TKey> keyBinder,
            IEnumerable <TEntity> items,
            ObjectMapperManager mapper)
        {
            Guard.ArgumentNotNull(keyProvider, nameof(keyProvider));
            Guard.ArgumentNotNull(keyBinder, nameof(keyBinder));
            Guard.ArgumentNotNull(items, nameof(items));
            Guard.ArgumentNotNull(mapper, nameof(mapper));

            _keyProvider = keyProvider;
            _keyBinder   = keyBinder;
            _mapper      = mapper;
            _items       =
                new ConcurrentDictionary <TKey, TEntity>(
                    items.Select(i => new KeyValuePair <TKey, TEntity>(_keyBinder.Get(i), i)));
        }
 /// <summary>
 ///     Creates a new instance.
 /// </summary>
 /// <param name="keyProvider">Required. A function to return the value of the entity's primary key.</param>
 /// <param name="keyBinder">The binder for the entity id.</param>
 public InMemoryRepository(
     IKeyProvider <TEntity, TKey> keyProvider,
     IKeyBinder <TEntity, TKey> keyBinder)
     : this(keyProvider, keyBinder, Array.Empty <TEntity>(), ObjectMapperManager.DefaultInstance)
 {
 }
Exemple #5
0
 /// <summary>
 ///     Creates a new instance using a given key generator and key binder.
 /// </summary>
 /// <param name="keyGenerator">The generator for keys for a given entity.</param>
 /// <param name="keyBinder">The key binder to use.</param>
 public KeyProvider(IKeyGenerator <TEntity, TKey> keyGenerator, IKeyBinder <TEntity, TKey> keyBinder)
 {
     _getKey    = keyGenerator;
     _keyBinder = keyBinder;
 }
        public KeyProviderNoOp(IKeyBinder <TEntity, TKey> binder)
        {
            Guard.ArgumentNotNull(binder, nameof(binder));

            _binder = binder;
        }