HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/RMourik/bassol.nl/wwwroot/CMSFormControls/Dialogs/DialogStartConfiguration.ascx.cs
using System;
using System.Web.UI.WebControls;

using CMS.Base;
using CMS.Core;
using CMS.DataEngine;
using CMS.FormControls;
using CMS.FormEngine;
using CMS.Helpers;
using CMS.UIControls;

/// <summary>
/// This form control needs other blank fields with following names to work properly:
/// dialogs_content_hide
/// dialogs_content_path
/// dialogs_content_site
/// dialogs_libraries_hide
/// dialogs_libraries_site
/// dialogs_libraries_global
/// dialogs_libraries_global_libname
/// dialogs_groups
/// dialogs_groups_name
/// dialogs_libraries_group
/// dialogs_libraries_group_libname
/// dialogs_libraries_path
/// dialogs_attachments_hide
/// dialogs_anchor_hide
/// dialogs_email_hide
/// dialogs_web_hide
/// autoresize
/// autoresize_width
/// autoresize_height
/// autoresize_maxsidesize
/// </summary>
public partial class CMSFormControls_Dialogs_DialogStartConfiguration : FormEngineUserControl
{
    #region "Variables"

    protected bool communityLoaded = false;
    protected bool mediaLoaded = false;

    #endregion


    #region "Properties"

    public override object Value
    {
        get
        {
            return true;
        }
        set
        {
            // Do nothing
        }
    }


    /// <summary>
    /// Indicates if the Autoresize settings should be available.
    /// </summary>
    public bool DisplayAutoresize
    {
        get
        {
            return ValidationHelper.GetBoolean(GetValue("DisplayAutoresize"), true);
        }
        set
        {
            SetValue("DisplayAutoresize", value);
        }
    }


    /// <summary>
    /// Indicates if the E-mal tab settings should be available.
    /// </summary>
    public bool DisplayEmailTabSettings
    {
        get
        {
            return ValidationHelper.GetBoolean(GetValue("DisplayEmailTabSettings"), true);
        }
        set
        {
            SetValue("DisplayEmailTabSettings", value);
        }
    }


    /// <summary>
    /// Indicates if the Anchor tab settings should be available.
    /// </summary>
    public bool DisplayAnchorTabSettings
    {
        get
        {
            return ValidationHelper.GetBoolean(GetValue("DisplayAnchorTabSettings"), true);
        }
        set
        {
            SetValue("DisplayAnchorTabSettings", value);
        }
    }


    /// <summary>
    /// Indicates if the Web tab settings should be available.
    /// </summary>
    public bool DisplayWebTabSettings
    {
        get
        {
            return ValidationHelper.GetBoolean(GetValue("DisplayWebTabSettings"), true);
        }
        set
        {
            SetValue("DisplayWebTabSettings", value);
        }
    }

    #endregion


    #region "Page events"

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        lnkAdvacedFieldSettings.Click += lnkAdvacedFieldSettings_Click;

        communityLoaded = ModuleEntryManager.IsModuleLoaded(ModuleName.COMMUNITY);
        mediaLoaded = ModuleEntryManager.IsModuleLoaded(ModuleName.MEDIALIBRARY);

        plcMedia.Visible = mediaLoaded;
        plcGroups.Visible = communityLoaded;

        if (communityLoaded)
        {
            drpGroups.OnSelectionChanged += drpGroups_SelectedIndexChanged;
        }

        LoadSites();
        LoadSiteLibraries(null);
        LoadSiteGroups(null);
        LoadGroupLibraries(null, null);
    }


    protected void Page_Load(object sender, EventArgs e)
    {
        if ((Form != null) && (Form.Data != null))
        {
            // Set Auto resize control properties
            elemAutoResize.Form = Form;
            if (ContainsColumn("autoresize"))
            {
                elemAutoResize.Value = ValidationHelper.GetString(Form.Data.GetValue("autoresize"), null);
            }
        }
    }


    protected override void OnPreRender(EventArgs e)
    {
        // Display configuration settings in read-only mode
        if (!lnkAdvacedFieldSettings.IsEnabled)
        {
            plcAdvancedFieldSettings.Visible = true;
            lnkAdvacedFieldSettings.Visible = false;
            elemAutoResize.Enabled = false;
        }

        base.OnPreRender(e);
    }


    /// <summary>
    /// Advanced dialog link event handler.
    /// </summary>
    protected void lnkAdvacedFieldSettings_Click(object sender, EventArgs e)
    {
        plcAdvancedFieldSettings.Visible = !plcAdvancedFieldSettings.Visible;
        if (plcAdvancedFieldSettings.Visible)
        {
            LoadValues();
        }
    }


    /// <summary>
    /// Group drop-down list event handler.
    /// </summary>
    protected void drpGroups_SelectedIndexChanged(object sender, EventArgs e)
    {
        SelectGroup();
    }


    /// <summary>
    /// Handles site selection change event.
    /// </summary>
    protected void UniSelectorMediaSites_OnSelectionChanged(object sender, EventArgs e)
    {
        string selectedSite = ValidationHelper.GetString(siteSelectorMedia.Value, String.Empty);
        SelectSite(selectedSite);
    }

    #endregion


    #region "Private methods"

    /// <summary>
    /// Processes the data loading after the site is selected.
    /// </summary>
    private void SelectSite(string selectedSite)
    {
        if (communityLoaded)
        {
            LoadSiteGroups(selectedSite);
        }
        LoadSiteLibraries(selectedSite);
        SelectGroup();
    }


    /// <summary>
    /// Processes the data loading after the group is selected.
    /// </summary>
    private void SelectGroup()
    {
        bool isNone = drpGroups.DropDownSingleSelect.SelectedValue.EqualsCSafe("#none#", true);
        string selectedMediaSite = ValidationHelper.GetString(siteSelectorMedia.Value, String.Empty);
        
        drpGroupLibraries.Enabled = !isNone;
        LoadGroupLibraries(selectedMediaSite, ValidationHelper.GetString(drpGroups.Value, String.Empty), isNone); 

        if (isNone)
        {
            drpGroupLibraries.DropDownSingleSelect.SelectedIndex = 0;
        }
    }


    /// <summary>
    /// Loads the site DropDownLists.
    /// </summary>
    private void LoadSites()
    {
        // Define special fields
        SpecialFieldsDefinition specialFields = new SpecialFieldsDefinition(null, FieldInfo, ContextResolver);
        specialFields.Add(new SpecialField { Text = GetString("general.selectall"), Value = "##all##" });
        specialFields.Add(new SpecialField { Text = GetString("dialogs.config.currentsite"), Value = "##current##" });

        // Set site selector
        siteSelectorContent.DropDownSingleSelect.AutoPostBack = true;
        siteSelectorContent.AllowAll = false;
        siteSelectorContent.UseCodeNameForSelection = true;
        siteSelectorContent.UniSelector.SpecialFields = specialFields;

        siteSelectorMedia.DropDownSingleSelect.AutoPostBack = true;
        siteSelectorMedia.AllowAll = false;
        siteSelectorMedia.UseCodeNameForSelection = true;
        siteSelectorMedia.UniSelector.SpecialFields = specialFields;

        if (mediaLoaded)
        {
            siteSelectorMedia.UniSelector.OnSelectionChanged += UniSelectorMediaSites_OnSelectionChanged;
        }
    }


    /// <summary>
    /// Reloads the site groups.
    /// </summary>
    /// <param name="siteName">Name of the site</param>
    private void LoadSiteGroups(string siteName)
    {
        if (communityLoaded && mediaLoaded)
        {
            drpGroups.DropDownItems.Clear();
            drpGroups.SpecialFields.Add(new SpecialField { Text = GetString("general.selectall"), Value = String.Empty });
            drpGroups.SpecialFields.Add(new SpecialField { Text = GetString("general.selectnone"), Value = "#none#" });
            drpGroups.SpecialFields.Add(new SpecialField { Text = GetString("dialogs.config.currentgroup"), Value = "#current#" });

            if (siteName != null)
            {
                drpGroups.WhereCondition = "GroupSiteID IN (SELECT SiteID FROM CMS_Site WHERE SiteName = '" + SqlHelper.EscapeQuotes(siteName) + "')";
                drpGroups.Reload(true);
            }
        }
    }


    /// <summary>
    /// Reloads the site media libraries.
    /// </summary>
    /// <param name="siteName">Name of the site</param>
    private void LoadSiteLibraries(string siteName)
    {
        if (mediaLoaded)
        {
            drpSiteLibraries.DropDownItems.Clear();

            drpSiteLibraries.SpecialFields.Add(new SpecialField { Text = GetString("general.selectall"), Value = String.Empty });
            drpSiteLibraries.SpecialFields.Add(new SpecialField { Text = GetString("general.selectnone"), Value = "#none#" });
            drpSiteLibraries.SpecialFields.Add(new SpecialField { Text = GetString("dialogs.config.currentlibrary"), Value = "#current#" });

            if (siteName != null)
            {
                drpSiteLibraries.WhereCondition = "LibrarySiteID IN (SELECT SiteID FROM CMS_Site WHERE SiteName = '" + SqlHelper.EscapeQuotes(siteName) + "')";
                drpSiteLibraries.Reload(true);
            }
        }
    }


    /// <summary>
    /// Reloads the group media libraries.
    /// </summary>
    /// <param name="siteName">Name of the site</param>
    /// <param name="groupName">Name of the group</param>
    /// <param name="addNone">If true the (none) option is added</param>
    private void LoadGroupLibraries(string siteName, string groupName, bool addNone = false)
    {
        if (mediaLoaded && communityLoaded)
        {
            drpGroupLibraries.DropDownItems.Clear();
            
            if (addNone)
            {
                drpGroupLibraries.Value = null;
                drpGroupLibraries.SpecialFields.Add(new SpecialField { Text = GetString("general.selectnone"), Value = "#none#" });
            }

            drpGroupLibraries.SpecialFields.Add(new SpecialField { Text = GetString("general.selectall"), Value = String.Empty });
            drpGroupLibraries.SpecialFields.Add(new SpecialField { Text = GetString("dialogs.config.currentlibrary"), Value = "#current#" });

            if ((siteName != null) && (groupName != null))
            {
                drpGroupLibraries.WhereCondition = String.Format("LibraryGroupID IN (SELECT GroupID FROM Community_Group WHERE GroupSiteID IN (SELECT SiteID FROM CMS_Site WHERE SiteName = '{0}') AND GroupName = N'{1}')", SqlHelper.EscapeQuotes(siteName), SqlHelper.EscapeQuotes(groupName));
                drpGroupLibraries.Reload(true);
            }
        }
    }


    /// <summary>
    /// Selects correct item in given DDL.
    /// </summary>
    /// <param name="selector">Selector with the data</param>
    /// <param name="origKey">Key in hashtable which determines whether the value is special or specific item</param>
    /// <param name="singleItemKey">Key in hashtable for specified item</param>
    private void SelectInDDL(UniSelector selector, string origKey, string singleItemKey)
    {
        string item = ValidationHelper.GetString(Form.Data.GetValue(origKey), "").ToLowerCSafe();
        if (item == "#single#")
        {
            item = ValidationHelper.GetString(Form.Data.GetValue(singleItemKey), "");
        }

        ListItem li = selector.DropDownItems.FindByValue(item);
        if (li != null)
        {
            selector.Value = li.Value;
        }
    }

    #endregion


    #region "Public methods"

    /// <summary>
    /// Sets inner controls according to the parameters and their values included in configuration collection. Parameters collection will be passed from Field editor.
    /// </summary>
    public void LoadValues()
    {
        // Set settings configuration
        plcDisplayAnchor.Visible = DisplayAnchorTabSettings;
        plcDisplayEmail.Visible = DisplayEmailTabSettings;
        plcDisplayWeb.Visible = DisplayWebTabSettings;
        plcAutoResize.Visible = DisplayAutoresize;

        LoadOtherValues();
    }


    /// <summary>
    /// Loads the other fields values to the state of the form control
    /// </summary>
    public override void LoadOtherValues()
    {
        if ((Form == null) || (Form.Data == null))
        {
            return;
        }

        var data = Form.Data;

        if (ContainsColumn("autoresize"))
        {
            elemAutoResize.Value = ValidationHelper.GetString(data.GetValue("autoresize"), null);
        }

        // Content tab
        if (ContainsColumn("dialogs_content_hide"))
        {
            chkDisplayContentTab.Checked = !ValidationHelper.GetBoolean(data.GetValue("dialogs_content_hide"), false);
        }
        if (ContainsColumn("dialogs_content_userelativeurl"))
        {
            chkUseRelativeUrl.Checked = ValidationHelper.GetBoolean(data.GetValue("dialogs_content_userelativeurl"), false);
        }

        if (ContainsColumn("dialogs_content_path"))
        {
            selectPathElem.Value = ValidationHelper.GetString(data.GetValue("dialogs_content_path"), "");
        }

        if (ContainsColumn("dialogs_content_site"))
        {
            siteSelectorContent.Value = ValidationHelper.GetString(data.GetValue("dialogs_content_site"), null);
        }

        // Media tab
        if (mediaLoaded)
        {
            if (ContainsColumn("dialogs_libraries_hide"))
            {
                chkDisplayMediaTab.Checked = !ValidationHelper.GetBoolean(data.GetValue("dialogs_libraries_hide"), false);
            }

            // Site DDL                
            string libSites = null;
            if (ContainsColumn("dialogs_libraries_site"))
            {
                libSites = ValidationHelper.GetString(data.GetValue("dialogs_libraries_site"), null);
            }
            siteSelectorMedia.Value = libSites;
            SelectSite(libSites);

            // Site libraries DDL
            if (ContainsColumn("dialogs_libraries_global") && ContainsColumn("dialogs_libraries_global_libname"))
            {
                SelectInDDL(drpSiteLibraries, "dialogs_libraries_global", "dialogs_libraries_global_libname");
            }

            if (communityLoaded)
            {
                // Groups DDL
                if (ContainsColumn("dialogs_groups") && ContainsColumn("dialogs_groups_name"))
                {
                    SelectInDDL(drpGroups, "dialogs_groups", "dialogs_groups_name");
                }

                SelectGroup();

                // Group libraries DDL
                if (ContainsColumn("dialogs_libraries_group") && ContainsColumn("dialogs_libraries_group_libname"))
                {
                    SelectInDDL(drpGroupLibraries, "dialogs_libraries_group", "dialogs_libraries_group_libname");
                }
            }

            // Starting path
            if (ContainsColumn("dialogs_libraries_path"))
            {
                txtMediaStartPath.Text = ValidationHelper.GetString(data.GetValue("dialogs_libraries_path"), "");
            }
        }

        // Other tabs        
        if (ContainsColumn("dialogs_attachments_hide"))
        {
            chkDisplayAttachments.Checked = !ValidationHelper.GetBoolean(data.GetValue("dialogs_attachments_hide"), false);
        }
        if (ContainsColumn("dialogs_anchor_hide"))
        {
            chkDisplayAnchor.Checked = !ValidationHelper.GetBoolean(data.GetValue("dialogs_anchor_hide"), false);
        }
        if (ContainsColumn("dialogs_email_hide"))
        {
            chkDisplayEmail.Checked = !ValidationHelper.GetBoolean(data.GetValue("dialogs_email_hide"), false);
        }
        if (ContainsColumn("dialogs_web_hide"))
        {
            chkDisplayWeb.Checked = !ValidationHelper.GetBoolean(data.GetValue("dialogs_web_hide"), false);
        }
    }


    /// <summary>
    /// Returns other values related to this control.
    /// </summary>
    public override object[,] GetOtherValues()
    {
        object[,] values = new object[21, 2];
        values[0, 0] = "autoresize";
        values[1, 0] = "autoresize_width";
        values[2, 0] = "autoresize_height";
        values[3, 0] = "autoresize_maxsidesize";
        values[4, 0] = "dialogs_content_hide";
        values[5, 0] = "dialogs_content_path";
        values[6, 0] = "dialogs_content_site";
        values[7, 0] = "dialogs_libraries_hide";
        values[8, 0] = "dialogs_libraries_site";
        values[9, 0] = "dialogs_libraries_global";
        values[10, 0] = "dialogs_libraries_global_libname";
        values[11, 0] = "dialogs_groups";
        values[12, 0] = "dialogs_groups_name";
        values[13, 0] = "dialogs_libraries_group";
        values[14, 0] = "dialogs_libraries_group_libname";
        values[15, 0] = "dialogs_libraries_path";
        values[16, 0] = "dialogs_attachments_hide";
        values[17, 0] = "dialogs_anchor_hide";
        values[18, 0] = "dialogs_email_hide";
        values[19, 0] = "dialogs_web_hide";
        values[20, 0] = "dialogs_content_userelativeurl";

        // Resize control values
        values[0, 1] = elemAutoResize.Value;
        if (plcAutoResize.Visible)
        {
            var resizeValues = elemAutoResize.GetOtherValues();
            if ((resizeValues != null) && (resizeValues.Length > 3))
            {
                values[1, 1] = resizeValues[0, 1];
                values[2, 1] = resizeValues[1, 1];
                values[3, 1] = resizeValues[2, 1];
            }
        }
        else
        {
            // Set default values
            values[1, 1] = Form.GetDataValue("autoresize_width");
            values[2, 1] = Form.GetDataValue("autoresize_height");
            values[3, 1] = Form.GetDataValue("autoresize_maxsidesize");
        }

        // Content tab
        if (!chkDisplayContentTab.Checked)
        {
            values[4, 1] = true;
        }
        else
        {
            values[4, 1] = false;
        }

        values[20, 1] = chkUseRelativeUrl.Checked;


        if ((string)selectPathElem.Value != "")
        {
            values[5, 1] = selectPathElem.Value;
        }

        string selectedSite = ValidationHelper.GetString(siteSelectorContent.Value, String.Empty);
        if (selectedSite != String.Empty)
        {
            values[6, 1] = selectedSite;
        }

        // Media tab
        if (mediaLoaded)
        {
            if (!chkDisplayMediaTab.Checked)
            {
                values[7, 1] = true;
            }

            selectedSite = ValidationHelper.GetString(siteSelectorMedia.Value, String.Empty);
            if (selectedSite != String.Empty)
            {
                values[8, 1] = selectedSite;
            }

            // Site libraries DDL
            var value = ValidationHelper.GetString(drpSiteLibraries.Value, String.Empty);
            if ((value == "#none#") || (value == "#current#"))
            {
                values[9, 1] = value;
            }
            else if (value != "")
            {
                values[9, 1] = "#single#";
                values[10, 1] = value;
            }

            if (communityLoaded)
            {
                // Groups DDL
                value = ValidationHelper.GetString(drpGroups.Value, String.Empty);
                if ((value == "#none#") || (value == "#current#"))
                {
                    values[11, 1] = value;
                }
                else if (value != "")
                {
                    values[11, 1] = "#single#";
                    values[12, 1] = value;
                }

                // Group libraries DDL
                value = ValidationHelper.GetString(drpGroupLibraries.Value, String.Empty);
                if ((value == "#none#") || (value == "#current#"))
                {
                    values[13, 1] = value;
                }
                else if (value != "")
                {
                    values[13, 1] = "#single#";
                    values[14, 1] = value;
                }
            }

            // Starting path
            value = txtMediaStartPath.Text.Trim();
            if (value != "")
            {
                values[15, 1] = value;
            }
        }

        // Other tabs
        if (!chkDisplayAttachments.Checked)
        {
            values[16, 1] = true;
        }
        if (!chkDisplayAnchor.Checked)
        {
            values[17, 1] = true;
        }
        if (!chkDisplayEmail.Checked)
        {
            values[18, 1] = true;
        }
        if (!chkDisplayWeb.Checked)
        {
            values[19, 1] = true;
        }

        return values;
    }


    /// <summary>
    /// Validation of form control.
    /// </summary>
    public override bool IsValid()
    {
        bool isValid = true;

        // Check validity of autoresize element.
        if (plcAutoResize.Visible)
        {
            isValid = elemAutoResize.IsValid();
        }

        if (!ContainsColumn("dialogs_content_hide"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_content_hide", GetString("templatedesigner.fieldtypes.boolean"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_content_path"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_content_path", GetString("templatedesigner.fieldtypes.boolean"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_content_site"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_content_site", GetString("general.text"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_libraries_hide"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_libraries_hide", GetString("templatedesigner.fieldtypes.boolean"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_libraries_site"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_libraries_site", GetString("general.text"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_libraries_global"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_libraries_global", GetString("general.text"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_libraries_global_libname"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_libraries_global_libname", GetString("general.text"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_groups"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_groups", GetString("general.text"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_groups_name"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_groups_name", GetString("general.text"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_libraries_group"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_libraries_group", GetString("general.text"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_libraries_group_libname"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_libraries_group_libname", GetString("general.text"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_libraries_path"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_libraries_path", GetString("general.text"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_attachments_hide"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_attachments_hide", GetString("templatedesigner.fieldtypes.boolean"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_anchor_hide"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_anchor_hide", GetString("templatedesigner.fieldtypes.boolean"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_email_hide"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_email_hide", GetString("templatedesigner.fieldtypes.boolean"));
            isValid = false;
        }
        if (!ContainsColumn("dialogs_web_hide"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "dialogs_web_hide", GetString("templatedesigner.fieldtypes.boolean"));
            isValid = false;
        }
        if (!ContainsColumn("autoresize"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "autoresize", GetString("general.text"));
            isValid = false;
        }
        if (!ContainsColumn("autoresize_width"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "autoresize_width", GetString("templatedesigner.fieldtypes.integer"));
            isValid = false;
        }
        if (!ContainsColumn("autoresize_height"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "autoresize_height", GetString("templatedesigner.fieldtypes.integer"));
            isValid = false;
        }
        if (!ContainsColumn("autoresize_maxsidesize"))
        {
            ValidationError += String.Format(GetString("formcontrol.missingcolumn"), "autoresize_maxsidesize", GetString("templatedesigner.fieldtypes.integer"));
            isValid = false;
        }

        return isValid;
    }

    #endregion
}