Пример #1
0
        public static void GenerateDaos(IDomainMap domMap)
        {
            if (Directory.Exists(MySqlConstants.BASE_PATH))
            {
                Directory.Delete(MySqlConstants.BASE_PATH, true);
            }
            Directory.CreateDirectory(MySqlConstants.BASE_PATH);


            DataAccessInterfaceGenerator.GenerateAll(MySqlConstants.BASE_PATH, domMap);
            EntityGenerator.GenerateAll(MySqlConstants.BASE_PATH, domMap);

            MySqlDataAccessObjectGenerator gen = new MySqlDataAccessObjectGenerator();

            gen.GenerateAll(MySqlConstants.BASE_PATH + "MySqlDAO\\", domMap);
        }
Пример #2
0
        public override TemplateOutput Generate()
        {
            TemplateOutput retVal = new TemplateOutput();

            try
            {
                var generator = new DataAccessInterfaceGenerator(inflector: Inflector);
                foreach (var entity in ProcessModel.MetadataSourceModel.EntityTypes)
                {
                    string entityName = Inflector.Humanize(entity.ClrType.Name);

                    string outputfile = TemplateVariablesManager.GetOutputFile(templateIdentity: ProcessModel.TemplateIdentity,
                                                                               fileName: Consts.OUT_Blazor_DataAccessInterface);
                    outputfile = outputfile.Replace("[entityname]", $"{entityName}");
                    string filepath = outputfile;

                    string generatedCode = generator.GenerateInterface(
                        baseNamespace: BaseNamespace,
                        namespacePostfix: NamespacePostfix,
                        classNamespace: ClassNameSpace,
                        InludeRelatedObjects: DataAccessIncludeRelatedObjects,
                        prependSchemaNameIndicator: PrependSchemaNameIndicator,
                        excludeCircularReferenceNavigationProperties: ProcessModel.ExcludedNavigationProperties,
                        entity: entity
                        );

                    retVal.Files.Add(new OutputFile()
                    {
                        Content = generatedCode,
                        Name    = filepath
                    });
                }
            }
            catch (Exception ex)
            {
                base.AddError(ref retVal, ex, Enums.LogLevel.Error);
            }

            AddTemplateVariablesManagerErrorsToRetVal(ref retVal, Enums.LogLevel.Error);
            return(retVal);
        }
Пример #3
0
        public static void GenerateXmlConfig(IDomainMap domMap)
        {
            // create directory if doesn't exist
            if (!Directory.Exists(MySqlConstants.BASE_PATH))
            {
                Directory.CreateDirectory(MySqlConstants.BASE_PATH);
            }

            // create XML document
            XmlDocument    xmlDoc      = new XmlDocument();
            XmlDeclaration declaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
            XmlElement     rootNode    = xmlDoc.CreateElement("DatabaseMgrConfiguration");
            XmlAttribute   attribute;
            XmlNode        node;

            // xml header
            xmlDoc.InsertBefore(declaration, xmlDoc.DocumentElement);
            xmlDoc.AppendChild(rootNode);

            // database mgr
            node = xmlDoc.CreateElement("IDatabaseMgr");
            // type
            attribute       = xmlDoc.CreateAttribute("type");
            attribute.Value = MySqlConstants.DATABASE_MGR;
            node.Attributes.Append(attribute);
            rootNode.AppendChild(node);

            // state
            node = xmlDoc.CreateElement("State");
            // connection string
            attribute       = xmlDoc.CreateAttribute("connectionString");
            attribute.Value = MySqlConstants.CONNECTION_STRING;
            node.Attributes.Append(attribute);
            // type
            attribute       = xmlDoc.CreateAttribute("type");
            attribute.Value = MySqlConstants.ASSEMBLY_NAMESPACE + "." + MySqlConstants.STATE_CLASS_NAME + ", " + MySqlConstants.ASSEMBLY_NAME;
            node.Attributes.Append(attribute);
            rootNode.AppendChild(node);

            // all mappings
            foreach (IClassMap classMap in domMap.ClassMaps)
            {
                node = xmlDoc.CreateElement("Register");

                // interface
                attribute       = xmlDoc.CreateAttribute("interface");
                attribute.Value = DatabaseConstants.DAI_NAMESPACE +
                                  "." +
                                  DataAccessInterfaceGenerator.GetInterfaceName(classMap) +
                                  ", " +
                                  DatabaseConstants.ASSEMBLY_NAME;
                node.Attributes.Append(attribute);

                // dao
                attribute       = xmlDoc.CreateAttribute("dao");
                attribute.Value = MySqlConstants.DAO_NAMESPACE + "." + DataAccessObjectGenerator.GetDaoName(classMap) + ", " + MySqlConstants.ASSEMBLY_NAME;
                node.Attributes.Append(attribute);

                rootNode.AppendChild(node);
            }

            xmlDoc.Save(MySqlConstants.BASE_PATH + MySqlConstants.XML_CONFIG_NAME);
        }