Esempio n. 1
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="EntityDeserializer" /> class.
 /// </summary>
 /// <param name="entityReader">
 ///     The entity reader.
 /// </param>
 /// <param name="binaryReader">
 ///     The binary reader.
 /// </param>
 /// <param name="deserializingEntity">
 ///     The deserializing entity delegate.
 /// </param>
 private EntityDeserializer(EntityReader entityReader, BinaryReader binaryReader,
                            DeserializingEntity deserializingEntity)
     : base(binaryReader, entityReader.EntityScanner.EntityContext.Configuration.Context)
 {
     this.entityReader        = entityReader;
     this.entityScanner       = entityReader.EntityScanner;
     this.entityContext       = this.entityScanner.EntityContext;
     this.deserializingEntity = deserializingEntity;
 }
Esempio n. 2
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="EntityDeserializer" /> class.
 /// </summary>
 /// <param name="entityReader">
 ///     The entity reader.
 /// </param>
 /// <param name="binaryReader">
 ///     The binary reader.
 /// </param>
 /// <param name="deserializingEntity">
 ///     The deserializing entity delegate.
 /// </param>
 private EntityDeserializer(EntityReader entityReader, BinaryReader binaryReader,
                            DeserializingEntity deserializingEntity)
     : base(binaryReader)
 {
     this.entityReader         = entityReader;
     this.entityScanner        = entityReader.EntityScanner;
     this.entityBindingContext = this.entityScanner.EntityContext;
     this.deserializingEntity  = deserializingEntity;
 }
Esempio n. 3
0
        public void Test_ContainsEntities_NonMatchingAssembly()
        {
            Assembly assembly = Assembly.Load("SoftwareMonkeys.SiteStarter.State");

            EntityScanner scanner = new EntityScanner();

            bool doesMatch = scanner.ContainsEntities(assembly);

            Assert.IsFalse(doesMatch, "Matched when it shouldn't have.");
        }
Esempio n. 4
0
        /// <summary>
        ///     Reads an entity which belongs to the given database key from the database.
        /// </summary>
        /// <param name="entityContext">
        ///     The entity context.
        /// </param>
        /// <param name="entityReference">
        ///     The entity reference.
        /// </param>
        /// <param name="key">
        ///     The database key.
        /// </param>
        /// <param name="behaviors">
        ///     The behaviors.
        /// </param>
        /// <returns>
        ///     The entity.
        /// </returns>
        internal static object Read(EntityContext entityContext, EntityReference entityReference, object key,
                                    Behaviors behaviors)
        {
            var entityScanTarget = new EntityScanTarget(entityReference, key);
            var entityScanner    = new EntityScanner(entityContext);

            entityScanner.Add(entityScanTarget);
            new EntityReader(entityScanner, behaviors).Read();
            return(entityScanTarget.Value);
        }
Esempio n. 5
0
        public void Test_ContainsEntities_MatchingAssembly()
        {
            Assembly matchingAssembly = Assembly.Load("SoftwareMonkeys.SiteStarter.Entities");

            EntityScanner scanner = new EntityScanner();

            bool doesMatch = scanner.ContainsEntities(matchingAssembly);

            Assert.IsTrue(doesMatch, "Failed to match when it should.");
        }
Esempio n. 6
0
        /// <summary>
        ///     Reads all entities which belongs to the given scan specification from the database.
        /// </summary>
        /// <param name="entityContext">
        ///     The entity context.
        /// </param>
        /// <param name="entityReference">
        ///     The entity reference.
        /// </param>
        /// <param name="scanSpec">
        ///     The scan spec.
        /// </param>
        /// <param name="entitySink">
        ///     The entity sink, receives the entities fetched.
        /// </param>
        /// <param name="behaviors">
        ///     The behaviors.
        /// </param>
        internal static void Read(EntityContext entityContext, EntityReference entityReference, ScanSpec scanSpec,
                                  Action <object> entitySink, Behaviors behaviors)
        {
            var entityScanResult = new EntityScanResult(entityReference, entitySink);
            var entityScanner    = new EntityScanner(entityContext);

            entityScanner.Add(entityScanResult, scanSpec);

            new EntityReader(entityScanner, behaviors).Read();
        }
        public void Test_ContainsEntities_NonMatchingAssembly()
        {
            Assembly assembly = Assembly.Load("SoftwareMonkeys.SiteStarter.State");

            EntityScanner scanner = new EntityScanner();

            bool doesMatch = scanner.ContainsEntities(assembly);

            Assert.IsFalse(doesMatch, "Matched when it shouldn't have.");
        }
        public void Test_ContainsEntities_MatchingAssembly()
        {
            Assembly matchingAssembly = Assembly.Load("SoftwareMonkeys.SiteStarter.Entities");

            EntityScanner scanner = new EntityScanner();

            bool doesMatch = scanner.ContainsEntities(matchingAssembly);

            Assert.IsTrue(doesMatch, "Failed to match when it should.");
        }
Esempio n. 9
0
        /// <summary>
        ///     Reads all entities which belongs to the given scan specification from the database.
        /// </summary>
        /// <param name="entityContext">
        ///     The entity context.
        /// </param>
        /// <param name="entityReference">
        ///     The entity reference.
        /// </param>
        /// <param name="scanSpec">
        ///     The scan spec.
        /// </param>
        /// <param name="behaviors">
        ///     The behaviors.
        /// </param>
        /// <returns>
        ///     The entities.
        /// </returns>
        internal static IEnumerable Read(EntityContext entityContext, EntityReference entityReference,
                                         ScanSpec scanSpec, Behaviors behaviors)
        {
            var entityScanResult = new EntityScanResult(entityReference);
            var entityScanner    = new EntityScanner(entityContext);

            entityScanner.Add(entityScanResult, scanSpec);

            new EntityReader(entityScanner, behaviors).Read();
            return(entityScanResult.Values);
        }
Esempio n. 10
0
        public void Test_ContainsEntities_NonMatchingAssembly_ExcludeTestEntities()
        {
            Assembly assembly = Assembly.Load("SoftwareMonkeys.SiteStarter.Entities.Tests");

            EntityScanner scanner = new EntityScanner();

            bool includeTestEntities = false;

            bool doesMatch = scanner.ContainsEntities(assembly, includeTestEntities);

            Assert.IsFalse(doesMatch, "Matched when it shouldn't have.");
        }
        public void Test_ContainsEntities_NonMatchingAssembly_ExcludeTestEntities()
        {
            Assembly assembly = Assembly.Load("SoftwareMonkeys.SiteStarter.Entities.Tests");

            EntityScanner scanner = new EntityScanner();

            bool includeTestEntities = false;

            bool doesMatch = scanner.ContainsEntities(assembly, includeTestEntities);

            Assert.IsFalse(doesMatch, "Matched when it shouldn't have.");
        }
Esempio n. 12
0
        /// <summary>
        ///     Reads all entities which belongs to the given database keys from the database.
        /// </summary>
        /// <param name="entityContext">
        ///     The entity context.
        /// </param>
        /// <param name="entityReference">
        ///     The entity reference.
        /// </param>
        /// <param name="keys">
        ///     The entity keys.
        /// </param>
        /// <param name="entitySink">
        ///     The entity sink, receives the entities fetched.
        /// </param>
        /// <param name="behaviors">
        ///     The behaviors.
        /// </param>
        internal static void Read(EntityContext entityContext, EntityReference entityReference, IEnumerable keys,
                                  Action <object> entitySink, Behaviors behaviors)
        {
            var entityScanner     = new EntityScanner(entityContext);
            var entityScanTargets = new ChunkedCollection <EntityScanTarget>();

            foreach (var key in keys)
            {
                if (key != null)
                {
                    var entityScanTarget = new EntityScanTarget(entityReference,
                                                                entityReference.GetKeyFromObject(key, false), entitySink);
                    entityScanTargets.Add(entityScanTarget);
                    entityScanner.Add(entityScanTarget);
                }
            }

            new EntityReader(entityScanner, behaviors).Read();
        }
Esempio n. 13
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="EntityReader" /> class.
 /// </summary>
 /// <param name="entityScanner">
 ///     The entity scanner.
 /// </param>
 /// <param name="behaviors">
 ///     The behaviors.
 /// </param>
 private EntityReader(EntityScanner entityScanner, Behaviors behaviors)
 {
     this.entityScanner      = entityScanner;
     this.behaviors          = behaviors;
     this.entitySpecsFetched = entityScanner.EntityContext.EntitySpecsFetched;
 }