/// <summary>
        /// Shows the list.
        /// </summary>
        private void ShowList()
        {
            bool showAllPages = (int.Parse(lstLanguages.SelectedItem.Value) < 1);
            CultureInfo[] listaLang = LanguageSwitcher.GetLanguageList(true);
            EnhancedHtmlDB ehdb = new EnhancedHtmlDB();
            SqlDataReader dr;
            lstPages.Items.Clear();

            if (showAllPages)
            {
                dr = ehdb.GetAllPages(ModuleID, WorkFlowVersion.Staging);
            }
            else
            {
                dr =
                    ehdb.GetLocalizedPages(ModuleID, int.Parse(lstLanguages.SelectedItem.Value), WorkFlowVersion.Staging);
            }

            try
            {
                while (dr.Read())
                {
                    if (showAllPages)
                    {
                        int ccode = int.Parse(dr["CultureCode"].ToString());
                        string texto = string.Empty;

                        foreach (CultureInfo ci in listaLang)
                        {
                            if (ccode == ci.LCID) texto = ci.DisplayName;
                        }
                        if (texto.Length != 0)
                        {
                            lstPages.Items.Add(
                                new ListItem((string) dr["Title"] + " (" + texto + ")", dr["ItemID"].ToString()));
                        }
                    }
                    else
                    {
                        lstPages.Items.Add(new ListItem((string) dr["Title"], dr["ItemID"].ToString()));
                    }
                }
            }
            finally
            {
                dr.Close();
            }
            if (lstPages.Items.Count > 0)
            {
                lstPages.SelectedIndex = 0;
                cmdEditPage.Enabled = true;
                cmdDeletePage.Enabled = true;
            }
            else
            {
                cmdEditPage.Enabled = false;
                cmdDeletePage.Enabled = false;
            }
        }
예제 #2
0
        /// <summary>
        /// Gives the me pages.
        /// </summary>
        /// <param name="addInvariantCulture">
        /// if set to <c>true</c> [add invariant culture].
        /// </param>
        /// <returns>
        /// </returns>
        /// <remarks>
        /// </remarks>
        private DataTable GiveMePages(bool addInvariantCulture)
        {
            var selected = false;
            var selectedPage = -1;
            if (this.ehPageId != null)
            {
                selectedPage = int.Parse(this.ehPageId);
            }

            var tabla = new DataTable("LocalizedPages");

            tabla.Columns.Add(new DataColumn("ItemID", typeof(string)));
            tabla.Columns.Add(new DataColumn("Title", typeof(string)));
            tabla.Columns.Add(new DataColumn("DesktopHtml", typeof(string)));

            var ehdb = new EnhancedHtmlDB();

            using (
                var dr = ehdb.GetLocalizedPages(this.ModuleID, this.PortalSettings.PortalUILanguage.LCID, this.Version))
            {
                while (dr.Read())
                {
                    this.AddPageRow(tabla, dr["ItemID"].ToString(), (string)dr["Title"], (string)dr["DesktopHtml"]);
                    if (int.Parse(dr["ItemID"].ToString()) == selectedPage)
                    {
                        selected = true;
                    }
                }

                if (tabla.Rows.Count == 0)
                {
                    if (this.PortalSettings.PortalUILanguage.Parent.LCID != CultureInfo.InvariantCulture.LCID)
                    {
                        using (
                            var dr1 = ehdb.GetLocalizedPages(
                                this.ModuleID, this.PortalSettings.PortalUILanguage.Parent.LCID, this.Version))
                        {
                            while (dr1.Read())
                            {
                                this.AddPageRow(
                                    tabla, dr1["ItemID"].ToString(), (string)dr1["Title"], (string)dr1["DesktopHtml"]);
                                if (int.Parse(dr1["ItemID"].ToString()) == selectedPage)
                                {
                                    selected = true;
                                }
                            }
                        }
                    }
                }

                if (addInvariantCulture || tabla.Rows.Count == 0)
                {
                    using (
                        var dr2 = ehdb.GetLocalizedPages(this.ModuleID, CultureInfo.InvariantCulture.LCID, this.Version)
                        )
                    {
                        while (dr2.Read())
                        {
                            this.AddPageRow(
                                tabla, dr2["ItemID"].ToString(), (string)dr2["Title"], (string)dr2["DesktopHtml"]);
                            if (int.Parse(dr2["ItemID"].ToString()) == selectedPage)
                            {
                                selected = true;
                            }
                        }
                    }
                }
            }

            if (!selected)
            {
                this.ehPageId = null;
            }

            return tabla;
        }