Пример #1
0
        private async Task <CConfiguration> ReLoadAndSaveQueries(CDataset dataSet)
        {
            var ds = Configuration.Datasource.FirstOrDefault(dsrc => dsrc.name.Equals(dataSet.dataSourceName));

            var schema = await _dataSourceProvider.GetStoreProcsSchema(ds);

            if (!string.IsNullOrEmpty(schema))
            {
                var builder = XmlBuilder.BuildQueryElements(ds, schema);
                if (null != builder)
                {
                    var config = XmlHelper <CConfiguration> .LoadFromString(builder.ToString());

                    var currentConfig = XmlHelper <CConfiguration> .Load(DefaultStoreProcsConfigFile);

                    _schedulerProvider.MainThread.Schedule(() =>
                    {
                        var currentDataset = currentConfig.Dataset.FirstOrDefault(d => d.name.Equals(dataSet.name));
                        var scripts        = currentDataset.Query.Where(q => q.isScript).ToList();
                        currentDataset.Query.Clear();
                        currentDataset.Query.AddRange(config.Dataset.FirstOrDefault().Query);
                        currentDataset.Query.AddRange(scripts);

                        XmlHelper <CConfiguration> .Save(DefaultStoreProcsConfigFile, currentConfig);
                    });

                    return(currentConfig);
                }
            }

            return(new CConfiguration());
        }
Пример #2
0
        private async Task <CConfiguration> LoadAndSaveQueries(CDatasource ds, string datasetName)
        {
            var schema = await _dataSourceProvider.GetStoreProcsSchema(ds);

            if (!string.IsNullOrEmpty(schema))
            {
                var builder = XmlBuilder.BuildQueryElements(ds, schema);
                if (null != builder)
                {
                    var config = XmlHelper <CConfiguration> .LoadFromString(builder.ToString());

                    if (!File.Exists(DefaultStoreProcsConfigFile))
                    {
                        XmlHelper <CConfiguration> .Save(DefaultStoreProcsConfigFile, config);
                    }
                    else
                    {
                        config.Dataset.FirstOrDefault().dataSourceName = datasetName;
                        config.Dataset.FirstOrDefault().name           = datasetName;
                        config.Datasource.FirstOrDefault().name        = datasetName;

                        var currentConfig = XmlHelper <CConfiguration> .Load(DefaultStoreProcsConfigFile);

                        currentConfig.Datasource.Add(config.Datasource.FirstOrDefault());
                        currentConfig.Dataset.Add(config.Dataset.FirstOrDefault());

                        XmlHelper <CConfiguration> .Save(DefaultStoreProcsConfigFile, currentConfig);

                        return(currentConfig);
                    }

                    return(config);
                }
            }

            return(new CConfiguration());
        }