protected virtual IIdAccessor GetIdAccessor(IStructureType structureType)
        {
            if (structureType.IdProperty == null)
                throw new PineConeException(ExceptionMessages.AutoSchemaBuilder_MissingIdMember.Inject(structureType.Name));

            return new IdAccessor(structureType.IdProperty);
        }
Esempio n. 2
0
        protected virtual IIdAccessor GetIdAccessor(IStructureType structureType)
        {
            if (structureType.IdProperty == null)
            {
                throw new SisoDbException(ExceptionMessages.AutoSchemaBuilder_MissingIdMember.Inject(structureType.Name));
            }

            return(new IdAccessor(structureType.IdProperty));
        }
Esempio n. 3
0
        public StructureSchema(IStructureType structureType, ICollection <IIndexAccessor> indexAccessors = null)
        {
            Ensure.That(structureType, nameof(structureType)).IsNotNull();

            StructureType  = structureType;
            IndexAccessors = indexAccessors != null
                ? new List <IIndexAccessor>(indexAccessors)
                : new List <IIndexAccessor>();
        }
	    protected virtual IIndexAccessor[] GetIndexAccessors(IStructureType structureType)
        {
        	var accessors = new IIndexAccessor[structureType.IndexableProperties.Length];

			for (var i = 0; i < accessors.Length; i++)
			{
			    var property = structureType.IndexableProperties[i];
			    accessors[i] = new IndexAccessor(property, DataTypeConverter.Convert(property));
			}

	        return accessors;
        }
Esempio n. 5
0
        protected virtual IIndexAccessor[] GetIndexAccessors(IStructureType structureType)
        {
            var accessors = new IIndexAccessor[structureType.IndexableProperties.Length];

            for (var i = 0; i < accessors.Length; i++)
            {
                var property = structureType.IndexableProperties[i];
                accessors[i] = new IndexAccessor(property, DataTypeConverter.Convert(property));
            }

            return(accessors);
        }
        public StructureSchema(IStructureType type, IIdAccessor idAccessor = null, IConcurrencyTokenAccessor concurrencyTokenAccessor = null, ITimeStampAccessor timeStampAccessor = null, ICollection <IIndexAccessor> indexAccessors = null)
        {
            Ensure.That(type, "type").IsNotNull();

            Type       = type;
            IdAccessor = idAccessor;
            ConcurrencyTokenAccessor = concurrencyTokenAccessor;
            TimeStampAccessor        = timeStampAccessor;

            IndexAccessors = indexAccessors != null
                ? new List <IIndexAccessor>(indexAccessors)
                : new List <IIndexAccessor>();
        }
        public virtual IStructureSchema CreateSchema(IStructureType structureType)
        {
            Ensure.That(structureType, "structureType").IsNotNull();

            var idAccessor = GetIdAccessor(structureType);
    	    var concurrencyTokenAccessor = GetConcurrencyTokenAccessor(structureType);
    	    var timeStampAccessor = GetTimeStampAccessor(structureType);
            var indexAccessors = GetIndexAccessors(structureType);
            if (indexAccessors == null || indexAccessors.Length < 1)
                throw new PineConeException(ExceptionMessages.AutoSchemaBuilder_MissingIndexableMembers.Inject(structureType.Name));

			return new StructureSchema(structureType, idAccessor, concurrencyTokenAccessor, timeStampAccessor, indexAccessors);
        }
        public virtual IStructureSchema CreateSchema(IStructureType structureType)
        {
            Ensure.That(structureType, nameof(structureType)).IsNotNull();

            var indexAccessors = GetIndexAccessors(structureType);

            if (indexAccessors == null || indexAccessors.Length < 1)
            {
                throw new StructurizerException(string.Format(StructurizerExceptionMessages.AutoSchemaBuilder_MissingIndexableMembers, structureType.Name));
            }

            return(new StructureSchema(structureType, indexAccessors));
        }
        public StructureSchema(IStructureType type, IIdAccessor idAccessor = null, IConcurrencyTokenAccessor concurrencyTokenAccessor = null, ITimeStampAccessor timeStampAccessor = null, ICollection<IIndexAccessor> indexAccessors = null)
        {
            Ensure.That(type, "type").IsNotNull();

            Type = type;
            IdAccessor = idAccessor;
            ConcurrencyTokenAccessor = concurrencyTokenAccessor;
            TimeStampAccessor = timeStampAccessor;

            IndexAccessors = indexAccessors != null 
                ? new List<IIndexAccessor>(indexAccessors)
                : new List<IIndexAccessor>();
        }
Esempio n. 10
0
        public virtual IStructureSchema CreateSchema(IStructureType structureType)
        {
            Ensure.That(structureType, "structureType").IsNotNull();

            var idAccessor = GetIdAccessor(structureType);
            var concurrencyTokenAccessor = GetConcurrencyTokenAccessor(structureType);
            var timeStampAccessor        = GetTimeStampAccessor(structureType);
            var indexAccessors           = GetIndexAccessors(structureType);

            if (indexAccessors == null || indexAccessors.Length < 1)
            {
                throw new SisoDbException(ExceptionMessages.AutoSchemaBuilder_MissingIndexableMembers.Inject(structureType.Name));
            }

            return(new StructureSchema(structureType, idAccessor, concurrencyTokenAccessor, timeStampAccessor, indexAccessors));
        }
	    protected virtual ITimeStampAccessor GetTimeStampAccessor(IStructureType structureType)
        {
            return structureType.TimeStampProperty == null
                ? null
                : new TimeStampAccessor(structureType.TimeStampProperty);
        }
	    protected virtual IConcurrencyTokenAccessor GetConcurrencyTokenAccessor(IStructureType structureType)
        {
            return structureType.ConcurrencyTokenProperty == null 
                ? null 
                : new ConcurrencyTokenAccessor(structureType.ConcurrencyTokenProperty);
        }
Esempio n. 13
0
 protected virtual ITimeStampAccessor GetTimeStampAccessor(IStructureType structureType)
 {
     return(structureType.TimeStampProperty == null
         ? null
         : new TimeStampAccessor(structureType.TimeStampProperty));
 }
Esempio n. 14
0
 protected virtual IConcurrencyTokenAccessor GetConcurrencyTokenAccessor(IStructureType structureType)
 {
     return(structureType.ConcurrencyTokenProperty == null
         ? null
         : new ConcurrencyTokenAccessor(structureType.ConcurrencyTokenProperty));
 }
Esempio n. 15
0
 internal static IStructureSchema CreateRealFrom(IStructureType structureType)
 {
     return(StructureSchemaBuilder.CreateSchema(structureType));
 }