private void UpdateEntityGenerationParameters(type_generationGenerateentity pEntity,
                                                      ref bool pfGenEnum)
        {
            foreach (parametersParameter p in pEntity.parameters)
            {
                switch (p.name)
                {
                case ("generate-entity"):
                    p.Value = GetEntityGenerationOldParamValueBool(pEntity.entity, "GenClass", "true");
                    break;

                case ("generate-getter"):
                    p.Value = GetEntityGenerationOldParamValueBool(pEntity.entity, "GenClass_get", "true");
                    break;

                case ("generate-setter"):
                    p.Value = GetEntityGenerationOldParamValueBool(pEntity.entity, "GenClass_set", "true");
                    break;

                case ("generate-removecheck"):
                    p.Value = GetEntityGenerationOldParamValueBool(pEntity.entity, "GenClass_RemoveDRI", "true");
                    break;

                case ("generate-home"):
                    p.Value = GetEntityGenerationOldParamValueBool(pEntity.entity, "GenHome", "true");
                    break;

                case ("generate-default-create"):
                    p.Value = GetEntityGenerationOldParamValueBool(pEntity.entity, "GenHome_create", "true");
                    break;

                case ("generate-default-create-object"):
                    p.Value = GetEntityGenerationOldParamValueBool(pEntity.entity, "GenHome_createDbObject", "true");
                    break;

                case ("generate-findbyprimarykey"):
                    p.Value = GetEntityGenerationOldParamValueBool(pEntity.entity, "GenHome_findByPrimaryKey", "true");
                    break;

                case ("generate-enumeration"):
                    p.Value   = GetEntityGenerationOldParamValueBool(pEntity.entity, "GenEnumeration", "false");
                    pfGenEnum = p.Value.Equals("true");
                    break;
                }
            }
        }
Exemplo n.º 2
0
        public static DataView GetEnumeration(type_generationGenerateentity pEntity, string pDbDefinitionFilename, ref bool pfDefChanged)
        {
            pfDefChanged = false;

            DataTable dt = new DataTable();

            dt.Columns.Add("ID", typeof(int));
            dt.Columns.Add("Identifier", typeof(string));
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("Description", typeof(string));
            dt.Columns.Add("Generate", typeof(bool));

            if (pDbDefinitionFilename.ToLower().EndsWith(".mdb") || pDbDefinitionFilename.ToLower().EndsWith(".accdb"))
            {
                String          strConnect = DBServerHelper.getDatabaseOleDbConnectionString(pDbDefinitionFilename);
                OleDbConnection con        = new OleDbConnection(strConnect);
                con.Open();

                OleDbCommand cmd = con.CreateCommand();
                cmd.CommandType = CommandType.TableDirect;
                cmd.CommandText = pEntity.entity;
                OleDbDataReader dr = cmd.ExecuteReader();

                ArrayList alEnum = new ArrayList();
                if (pEntity.enumerationentries != null)
                {
                    alEnum.AddRange(pEntity.enumerationentries);
                }

                int intRowCount = 0;
                while (dr.Read())
                {
                    int    intID          = 0;
                    string strName        = null;
                    string strDescription = null;

                    for (int intField = 0; intField < dr.FieldCount; intField++)
                    {
                        object objValue = dr.GetValue(intField);
                        if ((objValue is int) && intID == 0)
                        {
                            intID = (int)objValue;
                        }
                        else if ((objValue is string) && strName == null)
                        {
                            strName = (string)objValue;
                        }
                        else if ((objValue is string) && strDescription == null)
                        {
                            strDescription = (string)objValue;
                        }
                        if (intID != 0 && strName != null && strDescription != null)
                        {
                            break;
                        }
                    }

                    type_generationGenerateentityEnumerationentry enumEntry = null;
                    foreach (type_generationGenerateentityEnumerationentry e in alEnum)
                    {
                        if (PVFormatUtil.ParseInt(e.id) == intID)
                        {
                            enumEntry = e;
                            break;
                        }
                    }
                    if (enumEntry == null)
                    {
                        pfDefChanged = true;

                        if (strName == null)
                        {
                            strName = "enum" + intID.ToString();
                        }
                        if (strDescription == null)
                        {
                            strDescription = strName;
                        }

                        enumEntry             = new type_generationGenerateentityEnumerationentry();
                        enumEntry.id          = intID.ToString();
                        enumEntry.identifier  = GetIdentifier(strName);
                        enumEntry.name        = strName;
                        enumEntry.description = strDescription;
                        enumEntry.generate    = true;
                        alEnum.Add(enumEntry);
                    }

                    DataRow row = dt.NewRow();
                    row["ID"]          = PVFormatUtil.ParseInt(enumEntry.id);
                    row["Identifier"]  = enumEntry.identifier;
                    row["Name"]        = enumEntry.name;
                    row["Description"] = enumEntry.description;
                    row["Generate"]    = enumEntry.generate;
                    dt.Rows.Add(row);

                    intRowCount++;
                    if (intRowCount >= ENUMERATION_MAXROWS)
                    {
                        break;
                    }
                }
                dr.Close();

                con.Close();

                pEntity.enumerationentries = (type_generationGenerateentityEnumerationentry[])alEnum.ToArray(typeof(type_generationGenerateentityEnumerationentry));
            }

            DataView dv = new DataView(dt);

            dv.AllowEdit   = true;
            dv.AllowNew    = false;
            dv.AllowDelete = false;
            return(dv);
        }
Exemplo n.º 3
0
        public static DataView GetDeleteConstraints(XmlDocument pDbDefinitionDocument, type_generationGenerateentity pEntity)
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("ForeignEntity", typeof(string));
            dt.Columns.Add("Message", typeof(string));

            foreach (XmlNode node in pDbDefinitionDocument.SelectNodes("/db-definition/entities/entity"
                                                                       + "[keys/foreign-key[@foreign-entity='" + pEntity.entity + "' and @cascading-delete='false']]"))
            {
                string strForeignEntity = node.Attributes["name"].Value;
                string strMessage       = "";

                if (pEntity.removeconstraintmessages != null)
                {
                    foreach (type_generationGenerateentityRemoveconstraintmessage msg in pEntity.removeconstraintmessages)
                    {
                        if (msg.foreignentity.Equals(strForeignEntity))
                        {
                            strMessage = msg.Value;
                            break;
                        }
                    }
                }

                DataRow row = dt.NewRow();
                row["ForeignEntity"] = strForeignEntity;
                row["Message"]       = strMessage;
                dt.Rows.Add(row);
            }

            DataView dv = new DataView(dt);

            dv.AllowEdit   = true;
            dv.AllowNew    = false;
            dv.AllowDelete = false;
            return(dv);
        }
Exemplo n.º 4
0
        private string ExpandPlatformParameters(string pValue, string pEntity)
        {
            string strValue = pValue;

            if (pEntity != null)
            {
                strValue = strValue.Replace("{entity}", pEntity);

                if (mPlatformDef.entitygeneration != null &&
                    mPlatformDef.entitygeneration.generateentity != null &&
                    mPlatformDef.entitygeneration.generateentity.parameterdefinitions != null)
                {
                    type_generationGenerateentity entity = null;
                    if (mCurrentPlatform.entitygeneration != null && mCurrentPlatform.entitygeneration.generateentity != null)
                    {
                        foreach (type_generationGenerateentity e in mCurrentPlatform.entitygeneration.generateentity)
                        {
                            if (e.entity.Equals(pEntity))
                            {
                                entity = e;
                            }
                        }
                    }

                    if (entity != null && entity.parameters != null)
                    {
                        foreach (parameterdefinitionsParameterdefinition paramdef in mPlatformDef.entitygeneration.generateentity.parameterdefinitions)
                        {
                            strValue = strValue.Replace("{$" + paramdef.name + "}", ParameterHelper.GetParameter(paramdef.name, paramdef, entity.parameters));
                        }
                    }
                }

                if (mConfig.entitygeneration != null &&
                    mConfig.entitygeneration.generateentity != null &&
                    mConfig.entitygeneration.generateentity.parameterdefinitions != null)
                {
                    type_generationGenerateentity entity = null;
                    if (mProjectSettings.entitygeneration != null && mProjectSettings.entitygeneration.generateentity != null)
                    {
                        foreach (type_generationGenerateentity e in mProjectSettings.entitygeneration.generateentity)
                        {
                            if (e.entity.Equals(pEntity))
                            {
                                entity = e;
                            }
                        }
                    }

                    if (entity != null && entity.parameters != null)
                    {
                        foreach (parameterdefinitionsParameterdefinition paramdef in mConfig.entitygeneration.generateentity.parameterdefinitions)
                        {
                            strValue = strValue.Replace("{$" + paramdef.name + "}", ParameterHelper.GetParameter(paramdef.name, paramdef, entity.parameters));
                        }
                    }
                }
            }

            return(ExpandPlatformParameters(strValue));
        }