Ejemplo n.º 1
0
        /// <summary>
        /// The BindData helper method is used to bind the list of
        /// module definitions for this portal to an asp:datalist server control
        /// </summary>
        protected void BindData()
        {
            // Get the portal's defs from the database
            SqlDataReader dr = new ModulesDB().GetCurrentModuleDefinitions(this.PortalSettings.PortalID);

            DataTable userTable = new DataTable();

            userTable.Columns.Add(new DataColumn("FriendlyName", typeof(string)));
            userTable.Columns.Add(new DataColumn("ModuleDefID", typeof(string)));

            DataTable adminTable = new DataTable();

            adminTable.Columns.Add(new DataColumn("FriendlyName", typeof(string)));
            adminTable.Columns.Add(new DataColumn("ModuleDefID", typeof(string)));

            DataRow drow;

            while (dr.Read())
            {
                if (bool.Parse(dr["Admin"].ToString()))
                {
                    drow = adminTable.NewRow();
                    drow["ModuleDefID"] = dr["ModuleDefID"];
                    string aux = dr["FriendlyName"].ToString();
                    if (aux.StartsWith("Admin"))
                    {
                        aux = aux.Substring(5);
                        while (aux[0] == ' ' || aux[0] == '-')
                        {
                            aux = aux.Substring(1);
                        }
                    }
                    drow["FriendlyName"] = aux;
                    adminTable.Rows.Add(drow);
                }
                else
                {
                    drow = userTable.NewRow();
                    drow["ModuleDefID"]  = dr["ModuleDefID"];
                    drow["FriendlyName"] = dr["FriendlyName"];
                    userTable.Rows.Add(drow);
                }
            }
            userModules.DataSource = userTable;
            userModules.DataBind();
            adminModules.DataSource = adminTable;
            adminModules.DataBind();
            dr.Close();
        }