Пример #1
0
        /// <summary>
        /// Generates code for the SPML definition that's passed in.
        /// </summary>
        /// <param name="inputFileContent">SPML definition.</param>
        /// <returns>Code in the appropriate source language.</returns>
        protected override byte[] GenerateCode(string inputFileContent)
        {
            //
            // Ensure references to BdsSoft.SharePoint.Linq and Microsoft.SharePoint are present in the project.
            //
            this.GetVSProject().References.Add("BdsSoft.SharePoint.Linq");
            this.GetVSProject().References.Add("Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C");

            //
            // Get SPML definition.
            //
            XmlDocument spml = new XmlDocument();

            spml.LoadXml(inputFileContent);

            //
            // Set arguments.
            //
            EntityGeneratorArgs args = new EntityGeneratorArgs();

            args.Namespace = this.FileNameSpace;

            string lang = GetProject().CodeModel.Language;

            Debug.Assert(lang == CodeModelLanguageConstants.vsCMLanguageCSharp || lang == CodeModelLanguageConstants.vsCMLanguageVB);

            if (lang == CodeModelLanguageConstants.vsCMLanguageCSharp)
            {
                args.Language = BdsSoft.SharePoint.Linq.Tools.EntityGenerator.Language.CSharp;
            }
            else if (lang == CodeModelLanguageConstants.vsCMLanguageVB)
            {
                args.Language = BdsSoft.SharePoint.Linq.Tools.EntityGenerator.Language.VB;
            }
            else
            {
                throw new NotSupportedException("Specified language not supported.");
            }

            //
            // Generate the code.
            //
            return(GenerateCode(new BdsSoft.SharePoint.Linq.Tools.EntityGenerator.EntityGenerator(args), spml));
        }
Пример #2
0
        /// <summary>
        /// Generates code for the SPML definition that's passed in.
        /// </summary>
        /// <param name="inputFileContent">SPML definition.</param>
        /// <returns>Code in the appropriate source language.</returns>
        protected override byte[] GenerateCode(string inputFileContent)
        {
            //
            // Ensure reference to BdsSoft.SharePoint.Linq is present in the project.
            //
            this.GetVSProject().References.Add("BdsSoft.SharePoint.Linq");

            //
            // Get SPML definition.
            //
            XmlDocument spml = new XmlDocument();

            spml.LoadXml(inputFileContent);

            //
            // Set arguments.
            //
            EntityGeneratorArgs args = new EntityGeneratorArgs();

            args.Namespace = this.FileNamespace;

            string lang = GetProject().CodeModel.Language;

            Debug.Assert(lang == CodeModelLanguageConstants.vsCMLanguageCSharp || lang == CodeModelLanguageConstants.vsCMLanguageVB);

            if (lang == CodeModelLanguageConstants.vsCMLanguageCSharp)
            {
                args.Language = BdsSoft.SharePoint.Linq.Tools.EntityGenerator.Language.CSharp;
            }
            else if (lang == CodeModelLanguageConstants.vsCMLanguageVB)
            {
                args.Language = BdsSoft.SharePoint.Linq.Tools.EntityGenerator.Language.VB;
            }
            else
            {
                throw new NotSupportedException(Strings.LanguageNotSupported);
            }

            //
            // Generate the code.
            //
            return(GenerateCode(new BdsSoft.SharePoint.Linq.Tools.EntityGenerator.Generator(args), spml));
        }