/// <summary>
    /// Edits the selected Dynamic Property.
    /// </summary>
    private void EditDynamicProperty()
    {
        log.Debug("Editing dynamic property");
        // Need to get the selected domain
        Domain domain = dynPropertyListCtl.GetSelectedDomain();

        DynPropEntryDlg dlg = new DynPropEntryDlg();

        if (dlg.DoModal(this, domain))
        {
            log.Info("OK pressed on DynPropEntryDlg");
            if (domain.Dirty)
            {
                if (ConfigurationManager.AppSettings[DISPLAY_SQL_CFG].Equals("true"))
                {
                    BufferDisplayDlg bdDlg = new BufferDisplayDlg();
                    bdDlg.DoModal(this, domain);
                }
                if (ConfigurationManager.AppSettings[UPDATE_DB_CFG].Equals("true"))
                {
                    domain.Save();
                }
                formListCtl.UpdateSelectedLabel();
            }
        }
    }
    /// <summary>
    /// Adds a new Dynamic Property.
    /// </summary>
    private void AddDynamicProperty()
    {
        log.Debug("Adding new Dynamic Property");
        // Create a new Dynamic Property domain
        Domain domain = DomainFactory.Create("DynamicProperty");
        Domain app = null;
        Domain prop = null;

        switch (dynPropertyListCtl.SelectedLevel)
        {
        case DynamicPropertyLevels.Application:
            app = dynPropertyListCtl.GetSelectedDomain();
            break;

        case DynamicPropertyLevels.Category:
            app = dynPropertyListCtl.GetSelectedDomainParent();
            break;

        case DynamicPropertyLevels.Property:
            app = dynPropertyListCtl.GetSelectedDomainGrandParent();
            prop = dynPropertyListCtl.GetSelectedDomain();
            break;
        }

        if (app != null)
        {
            domain.SetValue("ApplicationId", app.GetValue("Id"));
        }

        if (prop != null)
        {
            domain.SetValue("PropertyId", prop.GetValue("PropertyId"));
        }

        DynPropEntryDlg dlg = new DynPropEntryDlg();

        if (dlg.DoModal(this, domain))
        {
            log.Info("OK pressed on DynPropEntryDlg");
            if (ConfigurationManager.AppSettings[DISPLAY_SQL_CFG].Equals("true"))
            {
                BufferDisplayDlg bdDlg = new BufferDisplayDlg();
                bdDlg.DoModal(this, domain);
            }
            if (ConfigurationManager.AppSettings[UPDATE_DB_CFG].Equals("true"))
            {
                domain.Save();
            }

            dynPropertyListCtl.AddDomain(domain);
        }
    }