Example #1
0
        public async Task ShouldRaiseQueryEvents()
        {
            var interceptor = new TestEntityManagerDelegate();
            CompositionContext contextWithEntityManagerDelegate = CompositionContext.Fake
                                                                  .WithGenerator(typeof(EntityManagerDelegate), () => interceptor)
                                                                  .WithName("ShouldRaiseQueryEvents");

            CompositionContextResolver.Add(contextWithEntityManagerDelegate);

            IEntityManagerProvider <NorthwindIBEntities> emp =
                EntityManagerProviderFactory.CreateTestEntityManagerProvider("ShouldRaiseQueryEvents");

            Assert.IsTrue(interceptor.QueriedRaised == 0);
            Assert.IsTrue(interceptor.QueryingRaised == 0);
            Assert.IsTrue(interceptor.FetchingRaised == 0);

            await InitFakeBackingStoreAsync(emp.ConnectionOptions.CompositionContext.Name);

            await emp.Manager.Customers.ExecuteAsync();

            Assert.IsTrue(interceptor.QueriedRaised > 0);
            Assert.IsTrue(interceptor.QueryingRaised > 0);
            Assert.IsTrue(interceptor.FetchingRaised > 0);

            Assert.IsTrue(interceptor.QueryingRaised < interceptor.FetchingRaised);
            Assert.IsTrue(interceptor.FetchingRaised < interceptor.QueriedRaised);
        }
Example #2
0
 /// <summary>Internal use.</summary>
 public SyncDataMessage(IEntityManagerProvider source, IEnumerable<object> savedEntities,
                 IEnumerable<EntityKey> deletedEntityKeys)
 {
     _source = source;
     _savedEntities = savedEntities ?? new List<object>();
     _deletedEntityKeys = deletedEntityKeys ?? new List<EntityKey>();
 }
Example #3
0
 /// <summary>Internal use.</summary>
 public SyncDataMessage(IEntityManagerProvider source, IEnumerable <object> savedEntities,
                        IEnumerable <EntityKey> deletedEntityKeys)
 {
     _source            = source;
     _savedEntities     = savedEntities ?? new List <object>();
     _deletedEntityKeys = deletedEntityKeys ?? new List <EntityKey>();
 }
 public StaffingResourceFactory(IEntityManagerProvider <TempHireEntities> entityManagerProvider,
                                IRepository <AddressType> addressTypes,
                                IRepository <PhoneNumberType> phoneNumberTypes)
     : base(entityManagerProvider)
 {
     _addressTypes     = addressTypes;
     _phoneNumberTypes = phoneNumberTypes;
 }
Example #5
0
        /// <summary>
        ///   Resets the fake backing store to its initial state.
        /// </summary>
        /// <returns> Returns true if the EntityManagerProvider supports the fake backing store. </returns>
        public static bool ResetFakeBackingStore <T>(this IEntityManagerProvider <T> @this) where T : EntityManager
        {
            if ([email protected] || !(@this is EntityManagerProvider <T>))
            {
                DebugFns.WriteLine(StringResources.NonSuitableEmpForFakeStoreOperation);
                return(false);
            }

            ((EntityManagerProvider <T>)@this).ResetFakeBackingStore();
            return(true);
        }
Example #6
0
        public GlobalCacheRepository(IEntityManagerProvider entityManagerProvider, IGlobalCache globalCache)
            : base(entityManagerProvider)
        {
            _globalCache = globalCache;
            entityManagerProvider.ManagerCreated += new EventHandler <EntityManagerCreatedEventArgs>(OnManagerCreated)
                                                    .MakeWeak(eh => entityManagerProvider.ManagerCreated -= eh);

            if (globalCache != null)
            {
                DefaultQueryStrategy = QueryStrategy.CacheOnly;
            }
        }
Example #7
0
 public ResourceMgtUnitOfWork(
     [Import(RequiredCreationPolicy = CreationPolicy.NonShared)] IEntityManagerProvider <TempHireEntities>
     entityManagerProvider,
     [Import(AllowDefault = true)] IGlobalCache globalCache = null)
     : base(entityManagerProvider)
 {
     AddressTypes            = new GlobalCacheRepository <AddressType>(entityManagerProvider, globalCache);
     States                  = new GlobalCacheRepository <State>(entityManagerProvider, globalCache);
     PhoneNumberTypes        = new GlobalCacheRepository <PhoneNumberType>(entityManagerProvider, globalCache);
     RateTypes               = new GlobalCacheRepository <RateType>(entityManagerProvider, globalCache);
     StaffingResourceFactory = new StaffingResourceFactory(entityManagerProvider, AddressTypes, PhoneNumberTypes);
     StaffingResources       = new StaffingResourceRepository(entityManagerProvider);
     Search                  = new StaffingResourceSearchService(StaffingResources);
 }
Example #8
0
        public void ShouldRaiseClearedEvent()
        {
            var interceptor = new TestEntityManagerDelegate();
            CompositionContext contextWithEntityManagerDelegate = CompositionContext.Fake
                                                                  .WithGenerator(typeof(EntityManagerDelegate), () => interceptor)
                                                                  .WithName("ShouldRaiseClearedEvent");

            CompositionContextResolver.Add(contextWithEntityManagerDelegate);

            IEntityManagerProvider <NorthwindIBEntities> emp =
                EntityManagerProviderFactory.CreateTestEntityManagerProvider("ShouldRaiseClearedEvent");

            Assert.IsTrue(interceptor.ClearedRaised == 0);

            emp.Manager.Clear();

            Assert.IsTrue(interceptor.ClearedRaised > 0);
        }
Example #9
0
        /// <summary>
        ///   Initializes the fake backing store.
        /// </summary>
        /// <returns> Returns true if the EntityManagerProvider supports the fake backing store. </returns>
        public static bool InitializeFakeBackingStore <T>(this IEntityManagerProvider <T> @this) where T : EntityManager
        {
            if ([email protected])
            {
                DebugFns.WriteLine(StringResources.NonSuitableEmpForFakeStoreOperation);
                return(false);
            }

            // Return if already initialized
            if (FakeBackingStore.Exists(@this.Manager.CompositionContext.Name))
            {
                return(true);
            }

            FakeBackingStore.Create(@this.Manager.CompositionContext.Name);

            ResetFakeBackingStore(@this);
            return(true);
        }
Example #10
0
        public async Task ShouldRaiseSaveEvents()
        {
            var interceptor = new TestEntityManagerDelegate();
            CompositionContext contextWithEntityManagerDelegate = CompositionContext.Fake
                                                                  .WithGenerator(typeof(EntityManagerDelegate), () => interceptor)
                                                                  .WithName("ShouldRaiseSaveEvents");

            CompositionContextResolver.Add(contextWithEntityManagerDelegate);

            IEntityManagerProvider <NorthwindIBEntities> emp =
                EntityManagerProviderFactory.CreateTestEntityManagerProvider("ShouldRaiseSaveEvents");

            int entityChangedRaised = 0;

            emp.EntityChanged += (sender, args) => entityChangedRaised++;

            Assert.IsTrue(interceptor.SavingRaised == 0);
            Assert.IsTrue(interceptor.SavedRaised == 0);
            Assert.IsTrue(interceptor.EntityChangingRaised == 0);
            Assert.IsTrue(interceptor.EntityChangedRaised == 0);

            var customer = emp.Manager.CreateEntity <Customer>();

            emp.Manager.AddEntity(customer);
            customer.CompanyName = "Foo";

            await InitFakeBackingStoreAsync(emp.Manager.CompositionContext.Name);

            await emp.Manager.SaveChangesAsync();

            Assert.IsTrue(entityChangedRaised == 3);
            Assert.IsTrue(interceptor.SavingRaised > 0);
            Assert.IsTrue(interceptor.SavedRaised > 0);
            Assert.IsTrue(interceptor.EntityChangingRaised > 0);
            Assert.IsTrue(interceptor.EntityChangedRaised > 0);

            Assert.IsTrue(interceptor.EntityChangingRaised < interceptor.EntityChangedRaised);
            Assert.IsTrue(interceptor.SavingRaised < interceptor.SavedRaised);
            Assert.IsTrue(interceptor.SavingRaised < interceptor.EntityChangingRaised);
            Assert.IsTrue(interceptor.EntityChangedRaised < interceptor.SavedRaised);
        }
Example #11
0
 public CustomerRepository(IEntityManagerProvider <NorthwindIBEntities> entityManagerProvider)
 {
     EntityManagerProvider = entityManagerProvider;
     AddEventHandler();
 }
Example #12
0
 /// <summary>
 ///   Creates a new factory.
 /// </summary>
 /// <param name="entityManagerProvider"> The EntityMangerProvider to be used to obtain an EntityManager. </param>
 public Factory(IEntityManagerProvider entityManagerProvider)
 {
     _entityManagerProvider = entityManagerProvider;
 }
Example #13
0
 /// <summary>
 ///     Creates a new repository.
 /// </summary>
 /// <param name="entityManagerProvider"> The EntityMangerProvider to be used to obtain an EntityManager. </param>
 /// <param name="defaultQueryStrategy"> The optional default query strategy. </param>
 public PagerRepository(IEntityManagerProvider entityManagerProvider, QueryStrategy defaultQueryStrategy = null)
     : base(entityManagerProvider, defaultQueryStrategy)
 {
 }
Example #14
0
 /// <summary>Internal use.</summary>
 public bool IsSameProviderAs(IEntityManagerProvider provider)
 {
     return ReferenceEquals(provider, _source);
 }
Example #15
0
 /// <summary>
 /// Provides compatibility for legacy code.
 /// </summary>
 public static OperationResult ResetFakeBackingStoreAsync <T>(
     this IEntityManagerProvider <T> source, Action onSuccess, Action <Exception> onFail)
     where T : EntityManager
 {
     return(source.ResetFakeBackingStoreAsync().OnComplete(onSuccess, onFail));
 }
 public StaffingResourceRepository(IEntityManagerProvider <TempHireEntities> entityManagerProvider)
     : base(entityManagerProvider)
 {
 }
 public DesignTimeResourceMgtUnitOfWorkManager(IEntityManagerProvider <TempHireEntities> entityManagerProvider)
 {
     _entityManagerProvider = entityManagerProvider;
 }
Example #18
0
 /// <summary>
 ///   Creates a new unit of work.
 /// </summary>
 /// <param name="entityManagerProvider"> The EntityMangerProvider to be used to obtain an EntityManager. </param>
 protected UnitOfWork(IEntityManagerProvider entityManagerProvider)
 {
     _entityManagerProvider = entityManagerProvider;
     _entityManagerProvider.EntityChanged += new EventHandler <EntityChangedEventArgs>(OnEntityChanged)
                                             .MakeWeak(eh => _entityManagerProvider.EntityChanged -= eh);
 }
Example #19
0
 public CustomerUnitOfWork(IEntityManagerProvider <NorthwindIBEntities> entityManagerProvider)
     : base(entityManagerProvider)
 {
 }
Example #20
0
 /// <summary>Internal use.</summary>
 public bool IsSameProviderAs(IEntityManagerProvider provider)
 {
     return(ReferenceEquals(provider, _source));
 }
Example #21
0
 public GlobalCache(
     [Import(RequiredCreationPolicy = CreationPolicy.NonShared)] IEntityManagerProvider <TempHireEntities>
     entityManagerProvider)
 {
     _entityManagerProvider = entityManagerProvider;
 }
 public CustomerRepository(IEntityManagerProvider<NorthwindIBEntities> entityManagerProvider)
 {
     EntityManagerProvider = entityManagerProvider;
     AddEventHandler();
 }
Example #23
0
 /// <summary>
 ///   Creates a new unit of work.
 /// </summary>
 /// <param name="entityManagerProvider"> The EntityMangerProvider to be used to obtain an EntityManager. </param>
 protected UnitOfWork(IEntityManagerProvider entityManagerProvider)
 {
     _entityManagerProvider = entityManagerProvider;
     _entityManagerProvider.EntityChanged += new EventHandler<EntityChangedEventArgs>(OnEntityChanged)
         .MakeWeak(eh => _entityManagerProvider.EntityChanged -= eh);
 }
Example #24
0
 public TodoUnitOfWork(IEntityManagerProvider <TodoEntities> entityManagerProvider) : base(entityManagerProvider)
 {
 }