Ejemplo n.º 1
0
        /// <summary>
        /// This method builds the classes for the current project.
        /// If Write Classes is false the database schema will be
        /// loaded the classes will not be built.
        /// </summary>
        /// <param name="currentProject"></param>
        /// <param name="fileManager"></param>
        /// <param name="writeClasses"></param>
        /// <returns></returns>
        public bool BuildClasses(Project currentProject, ProjectFileManager fileManager, bool writeClasses)
        {
            // initial value
            bool success = false;

            // Create DataManager
            this.Setup(currentProject);

            // 12.19.2021
            TargetFrameworkEnum targetFramework = (TargetFrameworkEnum)currentProject.TargetFramework;

            // Create New ClassWriter Object
            CSharpClassWriter classWriter = new CSharpClassWriter(fileManager, BusinessObjectPass, false, targetFramework);

            // Add Databases
            AddDatabases(ref currentProject);

            // if write classes
            if (writeClasses)
            {
                // Write DataManager
                success = classWriter.WriteDataClasses(DataManager);
            }
            else
            {
                // set success to true
                success = true;
            }

            // return value
            return(success);
        }
        internal static TargetFramework GetTargetFrameworkForAssembly(Type typeInTheAssembly)
        {
            var assembly = typeInTheAssembly.Assembly;

            //Console.WriteLine("assembly.FullName: " + assembly.FullName);
            //var manifestModule = assembly.ManifestModule;
            //Console.WriteLine("manifestModule.FullyQualifiedName: " + manifestModule.FullyQualifiedName);
            //Console.WriteLine("manifestModule.ScopeName: " + manifestModule.ScopeName);
            //// When TargetFramework is .NET Framework 2.0 : "v2.0.50727" for below ImageRuntimeVersion
            //Console.WriteLine("typeof(Graph).Assembly.ImageRuntimeVersion " + assembly.ImageRuntimeVersion); // typeof(Graph).Assembly.ImageRuntimeVersion v2.0.50727
            // but the same string below was printed when using .NET 3.0
            // typeof(Graph).Assembly.ImageRuntimeVersion v2.0.50727

            object[] customAttributes = assembly.GetCustomAttributes(typeof(TargetFrameworkAttribute), true);
            foreach (TargetFrameworkAttribute targetFramework in customAttributes)
            {
                //Console.WriteLine("targetFramework.TypeId : " + targetFramework.TypeId);
                //Console.WriteLine("targetFramework.FrameworkDisplayName : " + targetFramework.FrameworkDisplayName);
                Console.WriteLine("targetFramework.FrameworkName : " + targetFramework.FrameworkName);
                // The below strings have been tested when having used .NET Standard 1.0 - 1.6 as the targets
                // Tested strings so far (by changing the target framework and watching the output):
                //".NETStandard,Version=v1.0"
                //".NETStandard,Version=v1.1"
                //".NETStandard,Version=v1.2"
                //".NETStandard,Version=v1.3"
                //".NETStandard,Version=v1.4"
                //".NETStandard,Version=v1.5"
                //".NETStandard,Version=v1.6"
                TargetFrameworkEnum framework = GetTargetFrameworkEnumFromStringWithName(targetFramework.FrameworkName);
                if (framework != TargetFrameworkEnum.UNKNOWN)
                {
                    return(new TargetFramework(framework));
                }
            }
            return(new TargetFramework(TargetFrameworkEnum.UNKNOWN));
        }
 internal TargetFramework(TargetFrameworkEnum targetFramework)
 {
     Console.WriteLine("Detected targetFramework for the assembly: " + targetFramework);
     this._targetFramework = targetFramework;
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Create a new instance of DataManagerCreator
 /// </summary>
 public DataManagerCreator(List <DataTable> dataTablesArg, ReferencesSet objectReferencesArg, string rootDataManagerPathArg, string projectNameArg, string nameSpaceNameArg, ProjectFileManager fileManager, TargetFrameworkEnum targetFramework) : base(fileManager, false, false, targetFramework)
 {
     // Set Properties
     this.DataTables          = dataTablesArg;
     this.ProjectName         = projectNameArg;
     this.NameSpaceName       = nameSpaceNameArg;
     this.RootDataManagerPath = rootDataManagerPathArg;
     this.ObjectReferences    = objectReferencesArg;
 }