Esempio n. 1
0
        private void PopulateOptions()
        {
            DestroyMutableDropDownItems();

            // generate items from field's schema

            SchemaProvider.CacheSchema();

            EvaluateMutableValueForAdding("", SchemaSource.Mutable, SchemaProvider.Schema);
            GenerateMutableDropDownItems(MutableObject.IntersectOwnSchema(SchemaProvider.Schema), SchemaSource.Mutable, new Stack <string>());

            // generate items from cached schema
            if (CachedMutableDataStore.DataCached)
            {
                EvaluateMutableValueForAdding("", SchemaSource.Cached, CachedMutableDataStore.DataStore);
                GenerateMutableDropDownItems(MutableObject.IntersectOwnSchema(CachedMutableDataStore.DataStore), SchemaSource.Cached, new Stack <string>());
            }

            // generate items from the global variable store's schema

            AddMutableItem("", SchemaSource.Global, false, null);
            GenerateMutableDropDownItems(GlobalVariableDataStore.Instance.Schema, SchemaSource.Global, new Stack <string>());

            SchemaProvider.UnCacheSchema();
        }
        public Import ParseImport(Import import)
        {
            Token.ThrowIfCancellationRequested();

            var         xmlParser = new XmlTreeParser(new XmlRootState());
            ITextSource textSource;
            XDocument   doc;

            try {
                textSource = new StringTextSource(File.ReadAllText(import.Filename));
                (doc, _)   = xmlParser.Parse(textSource.CreateReader());
            } catch (Exception ex) when(IsNotCancellation(ex))
            {
                LoggingService.LogError("Unhandled error parsing xml document", ex);
                return(import);
            }

            import.Document = new MSBuildDocument(import.Filename, false);
            import.Document.Build(doc, this);
            try {
                import.Document.Schema = SchemaProvider.GetSchema(import.Filename, import.Sdk);
            } catch (Exception ex) {
                LoggingService.LogError($"Error loading schema for '{import.Filename}'", ex);
            }

            return(import);
        }
Esempio n. 3
0
        private void SetInitialMutableValue()
        {
            var userFacingAbsKey = MutableField.AbsoluteKey;

            switch (MutableField.SchemaSource)
            {
            case SchemaSource.Mutable:
                SetSelectedMutableText("Local Payload" + (userFacingAbsKey.Length == 0 ? "" : ".") + userFacingAbsKey);
                break;

            case SchemaSource.Global:
                SetSelectedMutableText("Global Payload" + (userFacingAbsKey.Length == 0 ? "" : ".") + userFacingAbsKey);
                break;
            }

            var segmentCount = MutableField.AbsoluteKey.Count(c => c.Equals('.')) + 2;

            GetComponent <LayoutElement>().preferredHeight = segmentCount * 16;

            SchemaProvider.CacheSchema();
            bool fieldValid;

            try
            {
                fieldValid = MutableField.ValidateKey(SchemaProvider.Schema);
            }
            catch (NullReferenceException)
            {
                fieldValid = false;
            }
            SchemaProvider.UnCacheSchema();

            IndicateError = !fieldValid;
        }
Esempio n. 4
0
        public void Test1()
        {
            SchemaProvider repository = new SchemaProvider();
            var schemaName = "schema1";
            List<Column> columns = new List<Column>()
            {
                new Column(){
                    Name="Title",
                    DataType=DataType.String,
                    ControlType="Text",
                    AllowNull=false,
                    Validations = new []{new RequiredValidation()}
                }
            };
            var schema = new Schema(contentRepository, schemaName, columns);

            repository.Add(schema);

            var all = repository.All(contentRepository);

            Assert.AreEqual(1, all.Count());

            var item = repository.Get(all.First());

            Assert.AreEqual(schema.Name, item.Name);
            Assert.AreEqual(schema.Repository, item.Repository);
            Assert.AreEqual(schema.Columns.Count(), item.Columns.Count());
            Assert.AreEqual(schema.Columns.First().Name, item.Columns.First().Name);

            repository.Remove(item);
        }
Esempio n. 5
0
        public virtual IDataAdapterCommand <IEnumerable <fo.DicomDataset> > CreateSelectCommand
        (
            string queryLevel,
            IEnumerable <IMatchingCondition> conditions,
            IQueryOptions options,
            IQueryResponseBuilder responseBuilder
        )
        {
            var queryLeveTable = SchemaProvider.GetTableInfo(SchemaProvider.GetQueryTable(queryLevel));

            if (queryLeveTable == null)
            {
                throw new ArgumentException("querylevel not supported");
            }

            var queryBuilder = BuildQuery(conditions, options, queryLeveTable);

            var sorting = SortingStrategyFactory.Create( );

            sorting.Sort(options, queryLeveTable);

            var selectCommand = new DicomDsQueryCommand(CreateCommand(queryBuilder.GetQueryText(queryLeveTable, options, sorting)), queryBuilder, responseBuilder);

            return(selectCommand);
        }
        public void GetSchemaCollections()
        {
            ExecuteSQL("CREATE TABLE parent (id int, name_parent VARCHAR(20), PRIMARY KEY(id))");
            ExecuteSQL(@"CREATE TABLE child (id int, name_child VARCHAR(20), parent_id INT, 
        PRIMARY KEY(id), INDEX par_id (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE)");
            ExecuteSQL("INSERT INTO parent VALUES(1, 'parent_1')");
            ExecuteSQL("INSERT INTO child VALUES(1, 'child_1', 1)");

            SchemaProvider schema = new SchemaProvider(Connection);

            string[] restrictions = new string[5];
            restrictions[2] = "parent";
            restrictions[1] = Connection.Database;

            MySqlSchemaCollection schemaCollection = schema.GetSchema("columns", restrictions);

            Assert.True(schemaCollection.Columns.Count == 20);
            Assert.True(schemaCollection.Rows.Count == 2);
            Assert.AreEqual("parent", schemaCollection.Rows[0]["TABLE_NAME"]);
            Assert.AreEqual("id", schemaCollection.Rows[0]["COLUMN_NAME"]);

            schemaCollection = schema.GetForeignKeys(restrictions);
            Assert.True(schemaCollection.AsDataTable().Columns.Contains("REFERENCED_TABLE_NAME"));

            schemaCollection = schema.GetForeignKeyColumns(restrictions);
            Assert.True(schemaCollection.AsDataTable().Columns.Contains("REFERENCED_COLUMN_NAME"));

            schemaCollection = schema.GetUDF(restrictions);
            Assert.True(schemaCollection.AsDataTable().Columns.Contains("RETURN_TYPE"));

            schemaCollection = schema.GetUsers(restrictions);
            Assert.True(schemaCollection.AsDataTable().Columns.Contains("USERNAME"));
        }
Esempio n. 7
0
        public void Test1()
        {
            SchemaProvider repository = new SchemaProvider();
            var            schemaName = "schema1";
            List <Column>  columns    = new List <Column>()
            {
                new Column()
                {
                    Name        = "Title",
                    DataType    = DataType.String,
                    ControlType = "Text",
                    AllowNull   = false,
                    Validations = new [] { new RequiredValidation() }
                }
            };
            var schema = new Schema(contentRepository, schemaName, columns);

            repository.Add(schema);

            var all = repository.All(contentRepository);

            Assert.AreEqual(1, all.Count());

            var item = repository.Get(all.First());

            Assert.AreEqual(schema.Name, item.Name);
            Assert.AreEqual(schema.Repository, item.Repository);
            Assert.AreEqual(schema.Columns.Count(), item.Columns.Count());
            Assert.AreEqual(schema.Columns.First().Name, item.Columns.First().Name);

            repository.Remove(item);
        }
Esempio n. 8
0
        private void ChangeStringKeyValue(bool applyValue)
        {
            var text = NewFieldValueInputFieldComponent.text;

            if (applyValue)
            {
                UndoLord.Instance.Push(new MutableTargetChange(this,
                                                               (MutableTarget.SchemaSource == SchemaSource.Mutable ? "Local Payload." : "Global Payload.") + MutableTarget.AbsoluteKey,
                                                               (MutableTarget.SchemaSource == SchemaSource.Mutable ? "Local Payload." : "Global Payload.") + MutableTarget.IntermediateKeyString
                                                               + (string.IsNullOrEmpty(MutableTarget.IntermediateKeyString) ? "" : ".") + text));
            }

            if (text.Contains('.'))
            {
                IndicateError = true;
                return;
            }

            if (!applyValue)
            {
                return;
            }

            // Send on up
            SchemaProvider.CacheSchema();
            MutableTarget.LastKey = text;
            SchemaProvider.UnCacheSchema();
        }
Esempio n. 9
0
        private void FormMain_Load(object sender, EventArgs e)
        {
            SchemaProvider provider = new SchemaProvider();

            dbSchema = provider.GetSchema(connectionString);

            InitTreeView(dbSchema);
        }
Esempio n. 10
0
 public QuestionsRepository(
     NpgsqlConnection connection,
     ITransactionProvider transactionProvider,
     SchemaProvider schemaProvider)
 {
     _connection          = connection;
     _transactionProvider = transactionProvider;
     _schemaProvider      = schemaProvider;
 }
Esempio n. 11
0
        public void TestAttributeOnTypeAddType()
        {
            var schema = new SchemaProvider <object>();

            schema.AddType <Project>("Project", "All about the project");

            Assert.Single(schema.Type <Project>().AuthorizeClaims.Claims);
            Assert.Equal("admin", schema.Type <Project>().AuthorizeClaims.Claims.ElementAt(0).ElementAt(0));
        }
 public DatabaseInitializer(
     NpgsqlConnection connection,
     ITransactionProvider transactionProvider,
     SchemaProvider schemaProvider)
 {
     _connection          = connection;
     _transactionProvider = transactionProvider;
     _schemaProvider      = schemaProvider;
 }
Esempio n. 13
0
        protected virtual QueryBuilder BuildQuery
        (
            IEnumerable <IMatchingCondition> conditions,
            IQueryOptions options,
            TableKey queryLeveTable
        )
        {
            QueryBuilder queryBuilder = CreateQueryBuilder( );


            if (null != conditions && conditions.Count( ) > 0)
            {
                foreach (var condition in conditions)
                {
                    if (condition.VR == fo.DicomVR.PN)
                    {
                        List <PersonNameData> pnValues = new List <PersonNameData> ( );


                        pnValues = condition.GetPNValues( );

                        foreach (var values in pnValues)
                        {
                            int           index        = -1;
                            string[]      stringValues = values.ToArray( );
                            List <string> pnConditions = new List <string> ( );

                            foreach (var column in SchemaProvider.GetColumnInfo(condition.KeyTag))
                            {
                                var columnValues = new string [] { stringValues[++index] };

                                queryBuilder.ProcessColumn(queryLeveTable, column, condition, columnValues);
                            }
                        }
                    }
                    else
                    {
                        IList <string> columnValues = GetValues(condition);

                        foreach (var column in SchemaProvider.GetColumnInfo(condition.KeyTag))
                        {
                            queryBuilder.ProcessColumn(queryLeveTable, column, condition, columnValues);
                        }
                    }
                }
            }
            else
            {
                foreach (var column in SchemaProvider.GetTableInfo(queryLeveTable).Columns)
                {
                    queryBuilder.ProcessColumn(queryLeveTable, column);
                }
            }

            return(queryBuilder);
        }
Esempio n. 14
0
        public void TestAttributeOnFieldAddField()
        {
            var schema = new SchemaProvider <object>();

            schema.AddType <Project>("Project", "All about the project")
            .AddField(p => p.Type, "The type info");

            Assert.Single(schema.Type <Project>().GetField("type").AuthorizeClaims.Claims);
            Assert.Equal("can-type", schema.Type <Project>().GetField("type").AuthorizeClaims.Claims.ElementAt(0).ElementAt(0));
        }
Esempio n. 15
0
        public virtual IDataAdapterCommand <long> CreateSelectStudyKeyCommand(IStudyId study)
        {
            TableKey     studyTable   = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.StudyTableName);
            QueryBuilder queryBuilder = CreateQueryBuilder( );

            ProcessSelectStudy(study, queryBuilder, studyTable, studyTable);

            return(new SingleResultQueryCommand <long> (CreateCommand(queryBuilder.GetQueryText(studyTable)),
                                                        studyTable.Name,
                                                        studyTable.KeyColumn.Name));
        }
Esempio n. 16
0
        public void TestMethodOnField()
        {
            var schema = new SchemaProvider <object>();

            schema.AddType <Task>("Task", "All about tasks")
            .AddField(p => p.IsActive, "Is it active")
            .RequiresAnyClaim("admin");

            Assert.Single(schema.Type <Task>().GetField("isActive").AuthorizeClaims.Claims);
            Assert.Equal("admin", schema.Type <Task>().GetField("isActive").AuthorizeClaims.Claims.ElementAt(0).ElementAt(0));
        }
        public void BuildQuery(IEnumerable <IMatchingCondition> conditions, string queryLevel)
        {
            TableKey sourceTable = base.SchemaProvider.GetTableInfo(queryLevel);


            if (sourceTable == null)
            {
                throw new ArgumentException("querylevel not supported");
            }

            if (null != conditions)
            {
                _returns    = new List <string>   ( );
                _conditions = new List <string>   ( );
                _joins      = new SqlJoinBuilder( );

                foreach (var condition in conditions)
                {
                    //string[] values = GetValues ( condition ) ;

                    if (condition.VR == DicomVr.PNvr)
                    {
                        List <PersonNameData> pnValues = new List <PersonNameData> ( );


                        pnValues = condition.GetPNValues( );

                        foreach (var values in pnValues)
                        {
                            int           index        = -1;
                            string[]      stringValues = values.ToArray( );
                            List <string> pnConditions = new List <string> ( );

                            foreach (var column in SchemaProvider.GetColumnInfo(condition.KeyTag))
                            {
                                var columnValues = new string [] { stringValues[++index] };

                                ProcessColumn(sourceTable, condition, column, columnValues);
                            }
                        }
                    }
                    else
                    {
                        IList <string> columnValues = GetValues(condition);

                        foreach (var column in SchemaProvider.GetColumnInfo(condition.KeyTag))
                        {
                            ProcessColumn(sourceTable, condition, column, columnValues);
                        }
                    }
                }
            }
        }
Esempio n. 18
0
        public void Setup()
        {
            _connection = Helpers.CreateAndOpenDatabase(StoreName);

            CreateTable();

            AssertTableExists("tableName");
            AssertColumnExists("tableName", "columnName");
            AssertIndexExists("indexName");

            _schemaOperationsProvider = SchemaProvider.CreateInstance(_connection.SchemaProviderType, _connection, false);
        }
Esempio n. 19
0
        protected static XElement GetSchema(string name, IEnumerable <KeyValuePair <string, string> > deltaKey)
        {
            List <KeyValuePair <string, string> > list = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("security", "non-admin")
            };

            list.AddRange(deltaKey);

            SchemaProvider schemaProvider = new SchemaProvider(name);

            return(schemaProvider.GetSchema(list));
        }
Esempio n. 20
0
            public void Should_not_allow_duplicate_rules()
            {
                const string rulesetId      = "Ruleset1";
                const string ruleId         = "100.0";
                var          schemaProvider = new SchemaProvider();
                var          model          = new Model();
                var          rule1          = new Rule(ruleId, rulesetId, schemaProvider);

                model.AddRule(rule1);
                var rule2 = new Rule(ruleId, rulesetId, schemaProvider);

                model.AddRule(rule2);
            }
Esempio n. 21
0
        public virtual IDataAdapterCommand <long> CreateSelectInstanceKeyCommand(IObjectId instance)
        {
            QueryBuilder queryBuilder  = CreateQueryBuilder( );
            TableKey     studyTable    = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.StudyTableName);
            TableKey     seriesTable   = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.SeriesTableName);
            TableKey     instanceTable = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.ObjectInstanceTableName);


            ProcessSelectObjectInstance(instance, queryBuilder, instanceTable, instanceTable);
            ProcessSelectSeries(instance, queryBuilder, seriesTable, instanceTable);
            ProcessSelectStudy(instance, queryBuilder, studyTable, seriesTable);

            return(new SingleResultQueryCommand <long> (CreateCommand(queryBuilder.GetQueryText(instanceTable)),
                                                        instanceTable.Name,
                                                        instanceTable.KeyColumn.Name));
        }
Esempio n. 22
0
        public ResultSetQueryCommand <InstanceMetadata> CreateGetMetadataCommand(IStudyId study)
        {
            TableKey     studyTable     = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.StudyTableName);
            TableKey     sourceTable    = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.ObjectInstanceTableName);
            QueryBuilder queryBuilder   = CreateQueryBuilder( );
            ColumnInfo   metaDataColumn = SchemaProvider.GetColumn(sourceTable.Name,
                                                                   StorageDbSchemaProvider.MetadataTable.MetadataColumn);

            ProcessSelectStudy(study, queryBuilder, studyTable, sourceTable);

            queryBuilder.ProcessColumn(sourceTable, metaDataColumn, null, null);

            return(new ResultSetQueryCommand <InstanceMetadata> (CreateCommand(queryBuilder.GetQueryText(sourceTable)),
                                                                 sourceTable,
                                                                 new string [] { metaDataColumn.ToString( ) },
                                                                 CreateMetadata));
        }
Esempio n. 23
0
        public void Register(IContainerManager containerManager, ITypeFinder typeFinder)
        {
            //
            var mediaFolderProvider = new MediaFolderProvider(containerManager.Resolve<IMediaFolderProvider>());
            containerManager.AddComponentInstance(typeof(IMediaFolderProvider), mediaFolderProvider);
            containerManager.AddComponentInstance(typeof(IProvider<MediaFolder>), mediaFolderProvider);

            var repositoryProvider = new RepositoryProvider(containerManager.Resolve<IRepositoryProvider>());
            containerManager.AddComponentInstance(typeof(IRepositoryProvider), repositoryProvider);
            containerManager.AddComponentInstance(typeof(IProvider<Repository>), repositoryProvider);

            var schemaProvider = new SchemaProvider(containerManager.Resolve<ISchemaProvider>());
            containerManager.AddComponentInstance(typeof(ISchemaProvider), schemaProvider);
            containerManager.AddComponentInstance(typeof(IProvider<Schema>), schemaProvider);

            var textFolderProvider = new TextFolderProvider(containerManager.Resolve<ITextFolderProvider>());
            containerManager.AddComponentInstance(typeof(ITextFolderProvider), textFolderProvider);
            containerManager.AddComponentInstance(typeof(IProvider<TextFolder>), textFolderProvider);
        }
Esempio n. 24
0
        protected virtual void FillInsertParameters
        (
            IEnumerable <IDicomDataParameter> dicomParameters,
            InstanceMetadata data,
            IDbCommand insertCommad,
            ObjectArchieveStorageBuilder stroageBuilder
        )
        {
            foreach (var dicomParam in dicomParameters)
            {
                if (dicomParam.VR == fo.DicomVR.PN)
                {
                    List <PersonNameData> pnValues;


                    pnValues = dicomParam.GetPNValues( );

                    foreach (var values in pnValues)
                    {
                        string[]      stringValues = values.ToArray( );
                        int           index        = -1;
                        List <string> pnConditions = new List <string> ( );

                        foreach (var column in SchemaProvider.GetColumnInfo(dicomParam.KeyTag))
                        {
                            column.Values = new string [] { stringValues[++index] };

                            stroageBuilder.ProcessColumn(column, insertCommad, Database.CreateParameter);
                        }
                    }

                    continue;
                }


                foreach (var column in SchemaProvider.GetColumnInfo(dicomParam.KeyTag))
                {
                    column.Values = GetValues(dicomParam);

                    stroageBuilder.ProcessColumn(column, insertCommad, Database.CreateParameter);
                }
            }
        }
Esempio n. 25
0
        //private void HandleGlobalParameterSelected( MutableBoxMutableItemBehaviour item )
        //{
        //    IndicateGlobalValue(item);
        //
        //    ShowItemDropDown = false;
        //}

        private void IndicateMutableValue(MutableBoxMutableItemBehaviour item)
        {
            SetSelectedMutableText(item.UserFacingAbsoluteKey);

            var segmentCount = item.UserFacingAbsoluteKey.Count(c => c.Equals('.')) + 1;

            GetComponent <LayoutElement>().preferredHeight = segmentCount * 16;

            UndoLord.Instance.Push(new MutableFieldChange(this, MutableField, item.UserFacingAbsoluteKey));

            // ArraySuffix never leaves this class!
            var arrayFreeText = item.AbsoluteKey.Replace(ArraySuffix, "");

            SchemaProvider.CacheSchema();
            MutableField.AbsoluteKey = arrayFreeText;

            MutableField.SchemaSource = item.SchemaSource;

            //////
            //MutableField.UseMutableValue = !item.useCachedData?
            //////

            //MutableField.UseMutableData = true;

            bool fieldValid;

            try
            {
                fieldValid = MutableField.ValidateKey(SchemaProvider.Schema);
            }
            catch (NullReferenceException)
            {
                fieldValid = false;
            }
            SchemaProvider.UnCacheSchema();

            IndicateError = !fieldValid;

            SwitchDisplayToMutableValue();

            //ShowItemDropDown = false;
        }
Esempio n. 26
0
        public SingleResultQueryCommand <InstanceMetadata> CreateGetMetadataCommand(IObjectId instance)
        {
            TableKey     studyTable     = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.StudyTableName);
            TableKey     seriesTable    = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.SeriesTableName);
            TableKey     instanceTable  = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.ObjectInstanceTableName);
            QueryBuilder queryBuilder   = CreateQueryBuilder( );
            ColumnInfo   metadataColumn = SchemaProvider.GetColumn(instanceTable.Name,
                                                                   StorageDbSchemaProvider.MetadataTable.MetadataColumn);

            ProcessSelectStudy(instance, queryBuilder, studyTable, instanceTable);
            ProcessSelectSeries(instance, queryBuilder, seriesTable, instanceTable);
            ProcessSelectObjectInstance(instance, queryBuilder, instanceTable, instanceTable);

            queryBuilder.ProcessColumn(instanceTable, metadataColumn);

            return(new SingleResultQueryCommand <InstanceMetadata> (CreateCommand(queryBuilder.GetQueryText(instanceTable)),
                                                                    instanceTable,
                                                                    metadataColumn.ToString( ),
                                                                    CreateMetadata));
        }
        protected virtual void FillParameters
        (
            IEnumerable <IDicomDataParameter> dicomParameters,
            IDbCommand insertCommad
        )
        {
            foreach (var dicomParam in dicomParameters)
            {
                if (dicomParam.VR == DicomVr.PNvr)
                {
                    List <PersonNameData> pnValues;


                    pnValues = dicomParam.GetPNValues( );

                    foreach (var values in pnValues)
                    {
                        string[]      stringValues = values.ToArray( );
                        int           index        = -1;
                        List <string> pnConditions = new List <string> ( );

                        foreach (var column in SchemaProvider.GetColumnInfo(dicomParam.KeyTag))
                        {
                            column.Values = new string [] { stringValues[++index] };

                            InsertColumnValue(column, dicomParam, insertCommad);
                        }
                    }

                    continue;
                }


                foreach (var column in SchemaProvider.GetColumnInfo(dicomParam.KeyTag))
                {
                    column.Values = GetValues(dicomParam);

                    InsertColumnValue(column, dicomParam, insertCommad);
                }
            }
        }
Esempio n. 28
0
        public void DoUndo(string newKey)
        {
            var parts = newKey.Split('.');

            SetSelectedMutableText(string.Join(".", parts, 0, parts.Length - 1));

            var segmentCount = parts.Length - 1;

            GetComponent <LayoutElement>().preferredHeight = segmentCount * 16 + PreferredHeight - 16 + 4;    // -16 for keypanel, +4 for layout group padding.

            // ArraySuffix never leaves this class!
            var arrayFreeText = string.Join(".", parts, 1, parts.Length - 2).Replace(ArraySuffix, "");

            SchemaProvider.CacheSchema();
            MutableTarget.IntermediateKeyString = arrayFreeText;
            SchemaProvider.UnCacheSchema();

            var textKey = parts[parts.Length - 1];

            NewFieldValueInputFieldComponent.text = textKey;

            var indicError = false;

            if (textKey.Contains('.'))
            {
                indicError = true;
            }
            else
            {
                SchemaProvider.CacheSchema();
                MutableTarget.LastKey = textKey;
                SchemaProvider.UnCacheSchema();
            }

            SchemaProvider.CacheSchema();
            MutableTarget.ValidateKey(SchemaProvider.Schema);
            SchemaProvider.UnCacheSchema();

            IndicateError = indicError | !MutableTarget.KeyValid;
        }
Esempio n. 29
0
        public void Init(string providerName, string connectionString)
        {
            if (string.IsNullOrEmpty(providerName) || string.IsNullOrEmpty(connectionString) ||
                providerName == ProviderName || connectionString == ConnectionString)
            {
                return;
            }

            var provider   = SchemaProvider.GetProvider(Utility.GetRealProviderName(providerName), connectionString);
            var tableNames = provider.GetTableNames();

            tvItems.BeginUpdate();
            tvItems.Nodes.Clear();

            var tableRootNode = new TreeNode("Tables", 0, 0);

            tvItems.Nodes.Add(tableRootNode);
            tableRootNode.Checked = true;

            foreach (string tableName in tableNames)
            {
                var tableNode = new TreeNode(tableName, 1, 1);
                tableRootNode.Nodes.Add(tableNode);
                tableNode.Checked = true;
            }

            var viewRootNode = new TreeNode("Views", 0, 0);

            tvItems.Nodes.Add(viewRootNode);
            viewRootNode.Checked = true;

            var spRootNode = new TreeNode("Stored procedures", 0, 0);

            tvItems.Nodes.Add(spRootNode);
            spRootNode.Checked = true;

            tvItems.ExpandAll();
            tvItems.EndUpdate();
        }
Esempio n. 30
0
        private Database GetDatabase()
        {
            ReportStatus("Retrieving the source database's schema...");

            Database  database  = null;
            Exception exception = null;

            var worker = new Thread(() => {
                try
                {
                    database = SchemaProvider.GetDatabase(Utility.GetRealProviderName(sourceProviderName), sourceConnectionString);
                    foreach (string tableName in selectedTableNames)
                    {
                        database.Tables[tableName].Checked = true;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    exception = ex;
                }
            });

            worker.Start();

            while (worker.IsAlive)
            {
                Application.DoEvents();
                Thread.Sleep(WORKER_THREAD_DELAY);
            }

            if (exception != null)
            {
                throw exception;
            }

            return(database);
        }
        public Import ParseImport(Import import)
        {
            Token.ThrowIfCancellationRequested();

            var         xmlParser = new XmlParser(new XmlRootState(), true);
            ITextSource textSource;

            try {
                textSource = TextSourceFactory.CreateNewDocument(import.Filename);
                xmlParser.Parse(textSource.CreateReader());
            } catch (Exception ex) {
                LoggingService.LogError("Unhandled error parsing xml document", ex);
                return(import);
            }

            var doc = xmlParser.Nodes.GetRoot();

            import.Document = new MSBuildDocument(import.Filename, false);
            import.Document.Build(doc, textSource, this);
            import.Document.Schema = SchemaProvider.GetSchema(import.Filename, import.Sdk);

            return(import);
        }
Esempio n. 32
0
        private void IndicateMutableValue(MutableBoxMutableItemBehaviour item)
        {
            SetSelectedMutableText(item.UserFacingAbsoluteKey);

            var segmentCount = item.UserFacingAbsoluteKey.Count(c => c.Equals('.')) + 1;

            GetComponent <LayoutElement>().preferredHeight = segmentCount * 16 + PreferredHeight - 16 + 4;    // -16 for keypanel, +4 for layout group padding.

            // ArraySuffix never leaves this class!
            var arrayFreeText = item.AbsoluteKey.Replace(ArraySuffix, "");

            SchemaProvider.CacheSchema();
            MutableTarget.IntermediateKeyString = arrayFreeText;
            SchemaProvider.UnCacheSchema();

            SchemaProvider.CacheSchema();
            MutableTarget.ValidateKey(SchemaProvider.Schema);
            SchemaProvider.UnCacheSchema();

            IndicateError = !MutableTarget.KeyValid;

            //ShowItemDropDown = false;
        }