Exemple #1
0
        public void Build(Solution solution, bool onlyResources, bool checkTabularSectionKey = false, bool filtersOnly = false)
        {
            String configurationFile = System.IO.Path.Combine(solution.SolutionFolder, @"configuration\configuration.xml");

            Factory factory = new Factory();

            Dictionary <String, Parameter> globalParameters = factory.GetGlobalParameters(configurationFile);
            List <Entity> entities = new List <Entity>();

            entities.AddRange(factory.GetEntities(configurationFile, checkTabularSectionKey));
            entities.AddRange(factory.GetResources(solution.DeviceResourceFolder));
            entities.AddRange(factory.GetAdmin());
            Dictionary <String, List <Constant> > constants = factory.GetConstants(configurationFile);

            ConfigVersion configVersion = factory.GetVersion(configurationFile);
            Config        config        = new Config(configVersion, solution.DatabaseName, entities, globalParameters, constants);

            if (onlyResources)
            {
                BuildResources(config, solution);
            }
            else
            {
                if (filtersOnly)
                {
                    BuildFilters(config, solution);
                }
                else
                {
                    BuildAll(config, solution);
                    InsertConstants(solution);
                }
            }
        }
Exemple #2
0
        public Config(ConfigVersion version, String solutionName, List <Entity> entities, Dictionary <String, Parameter> globalParameters, Dictionary <String, List <Constant> > constants)
        {
            this.configVersion    = version;
            this.solutionName     = solutionName;
            this.entities         = entities;
            this.constants        = constants;
            this.globalParameters = globalParameters;

            foreach (Entity entity in this.Entities)
            {
                entity.BuildSyncFilter(this);
            }
        }
Exemple #3
0
        public ConfigVersion GetVersion(String fileName)
        {
            ConfigVersion result = new ConfigVersion();
            XmlDocument   doc    = new XmlDocument();

            doc.Load(fileName);

            XmlAttribute aName    = doc.DocumentElement.Attributes["Name"];
            XmlAttribute aVersion = doc.DocumentElement.Attributes["Version"];

            if (aName == null)
            {
                throw new Exception("Configuration node must contain 'Name' attribute.");
            }
            if (aVersion == null)
            {
                throw new Exception("Configuration node must contain 'Version' attribute.");
            }

            result.Name    = aName.Value;
            result.Version = aVersion.Value;
            return(result);
        }