Esempio n. 1
0
        /// <exception cref="Exception">Root schema does not include a BIE schema.</exception>
        public ImporterContext(ICctsRepository cctsRepository, string rootSchemaPath)
        {
            RootSchemaPath     = rootSchemaPath;
            RootSchemaFileName = Path.GetFileName(rootSchemaPath);

            string inputDirectory = Path.GetDirectoryName(rootSchemaPath) + @"\";

            foreach (string schemaLocation in GetIncludedSchemaLocations(rootSchemaPath))
            {
                if (schemaLocation.StartsWith("BusinessInformationEntity"))
                {
                    BIESchemaPath = inputDirectory + schemaLocation;
                }
                else if (schemaLocation.StartsWith("BusinessDataType"))
                {
                    BDTSchemaPath = inputDirectory + schemaLocation;
                }
            }
            if (BDTSchemaPath == null)
            {
                throw new Exception("Root schema does not include a BDT schema.");
            }
            if (BIESchemaPath == null)
            {
                throw new Exception("Root schema does not include a BIE schema.");
            }

            CDTLibrary  = cctsRepository.GetCdtLibraries().ElementAt(0);
            CCLibrary   = cctsRepository.GetCcLibraries().ElementAt(0);
            BDTLibrary  = cctsRepository.GetBdtLibraries().ElementAt(0);
            BIELibrary  = cctsRepository.GetBieLibraries().ElementAt(0);
            PRIMLibrary = cctsRepository.GetPrimLibraries().ElementAt(0);
            BLibrary    = cctsRepository.GetBLibraries().ElementAt(0);
        }
Esempio n. 2
0
        public void LoadCDTLs(ICctsRepository repository)
        {
            foreach (ICdtLibrary cdtl in repository.GetCdtLibraries())
            {
                if (CDTLs.ContainsKey(cdtl.Name))
                {
                    CDTLs.Clear();
                    throw new CacheException("The wizard encountered two CDT libraries having identical names. Please make sure that all CDT libraries within the model have unique names before proceeding with the wizard.");
                }
                CDTLs.Add(cdtl.Name, new cCDTLibrary(cdtl.Name, cdtl.Id));
            }

            if (CDTLs.Count == 0)
            {
                throw new CacheException("The repository did not contain any CDT libraries. Please make sure at least one CDT library is present before proceeding with the wizard.");
            }
        }