public void TypeUsageProviderSetAndAddUseTypesTest()
        {
            TypeUsage typeUsage = new TypeUsage();

            var    dataObject   = new TypeUsageProviderTestClass();
            string propertyName =
                Information.ExtractPropertyPath <TypeUsageProviderTestClass>(x => x.SomeNotStoredObjectProperty);

            // Получение используемых типов.
            var result = typeUsage.GetUsageTypes(dataObject.GetType(), propertyName);

            Assert.True(2 == result.Length, "Количество используемых типов.");

            // Установка новых используемых типов.
            typeUsage.SetUsageTypes(dataObject.GetType(), propertyName, new Type[] { typeof(Boolean) });
            result = typeUsage.GetUsageTypes(dataObject.GetType(), propertyName);
            Assert.Equal("Boolean", result[0].Name);
            Assert.True(1 == result.Length, "Количество используемых типов.");

            // Добавление используемого типа.
            typeUsage.AddUsageTypes(dataObject.GetType(), propertyName, new Type[] { typeof(Char) });
            result = typeUsage.GetUsageTypes(dataObject.GetType(), propertyName);
            Assert.Equal("Boolean", result[0].Name);
            Assert.Equal("Char", result[1].Name);
            Assert.True(2 == result.Length, "Количество используемых типов.");
        }
        public void TypeUsageProviderGetUsageTypesTest1()
        {
            TypeUsage typeUsage = new TypeUsage();

            var dataObject = new TypeUsageProviderTestClass();

            var result = typeUsage.GetUsageTypes(
                dataObject.GetType(),
                Information.ExtractPropertyPath <TypeUsageProviderTestClass>(x => x.CombinedTypesUsageProviderTestClass));

            Assert.Equal("CombinedTypesUsageProviderTestClass", result[0].Name);
            Assert.True(1 == result.Length, "Количество используемых типов.");
        }
        public void TypeUsageProviderGetUsageTypesTest()
        {
            TypeUsage typeUsage = new TypeUsage();

            ICSSoft.STORMNET.DataObject dataObject = new TypeUsageProviderTestClass();

            var result = typeUsage.GetUsageTypes(
                dataObject.GetType(), Information.ExtractPropertyPath <TypeUsageProviderTestClass>(x => x.SomeNotStoredObjectProperty));

            Assert.Equal("String", result[0].Name);
            Assert.Equal("Int32", result[1].Name);
            Assert.True(2 == result.Length, "Количество используемых типов.");
        }
Exemplo n.º 4
0
        private List <string> GetDataBaseStorageNames(Type propertyType, string propertyName)
        {
            var databaseFieldNames = new List <string>();

            if (propertyType.IsSubclassOf(typeof(DataObject)))
            {
                var typeUsage  = new TypeUsage();
                var usageTypes = typeUsage.GetUsageTypes(DeclaredType, propertyName);

                for (var i = 0; i < usageTypes.Length; i++)
                {
                    databaseFieldNames.Add(Information.GetPropertyStorageName(DeclaredType, propertyName, i));
                }
            }
            else
            {
                databaseFieldNames.Add(Information.GetPropertyStorageName(DeclaredType, propertyName));
            }

            return(databaseFieldNames);
        }