/// <summary>
        /// Displays the selected campaign character in the generated campaign card
        /// </summary>
        /// <param name="user"></param>
        /// <param name="campaign"></param>
        private void DisplayCharacterDetails(User user, Character character)
        {
            CharacterUser.InnerText = user.FullName + " (" + user.Username + ")";

            RaceDesc.InnerText = character.Race.Name + ": " + character.Race.Description;
            BLLanguages.Items.Clear();
            foreach (Language language in character.Race.Languages)
            {
                BLLanguages.Items.Add(EnumPrettify.Prettify(language.ToString()));
            }

            ClassDesc.InnerText = character.CharacterClass.Name + ": " + character.CharacterClass.Description;
            BLFeatures.Items.Clear();
            foreach (Feature feature in character.CharacterClass.Features)
            {
                BLFeatures.Items.Add(feature.ToString());
            }
            HitDice.InnerText = character.CharacterClass.HitDice.ToString();
            BLSkills.Items.Clear();
            foreach (Skills skill in character.CharacterClass.CharacterSkills)
            {
                BLSkills.Items.Add(EnumPrettify.Prettify(skill.ToString()));
            }

            BackgroundDesc.InnerText = character.CharacterBackground.Name + ": " + character.CharacterBackground.Description;

            PhysicalDesc.InnerText = $"Hair: {character.Hair}, Eyes: {character.Eyes}, Skin: {character.Skin}";
        }
        /// <summary>
        /// Displays the generated character's details on the page
        /// </summary>
        /// <param name="character">The character to be displayed</param>
        private void DisplayCharacter(Character character)
        {
            LblCharacterName.Text    = character.Name;
            CharacterDetails.Visible = true;

            BLStats.Items.Clear();
            BLStats.Items.Add("Strength: " + character.Strength + ", Mod " + character.StrMod);
            BLStats.Items.Add("Dexterity: " + character.Dexterity + ", Mod " + character.DexMod);
            BLStats.Items.Add("Constitution: " + character.Constitution + ", Mod " + character.ConMod);
            BLStats.Items.Add("Intelligence: " + character.Intelligence + ", Mod " + character.IntMod);
            BLStats.Items.Add("Wisdom: " + character.Wisdom + ", Mod " + character.WisMod);
            BLStats.Items.Add("Charisma: " + character.Charisma + ", Mod " + character.ChrMod);

            RaceDesc.InnerText = character.Race.Name + ": " + character.Race.Description;
            BLNewCharLang.Items.Clear();
            foreach (Language language in character.Race.Languages)
            {
                BLNewCharLang.Items.Add(EnumPrettify.Prettify(language.ToString()));
            }

            ClassDesc.InnerText = character.CharacterClass.Name + ": " + character.CharacterClass.Description;
            BLNewCharFeats.Items.Clear();
            foreach (Feature feature in character.CharacterClass.Features)
            {
                BLNewCharFeats.Items.Add(feature.ToString());
            }
            HitDice.InnerText = character.CharacterClass.HitDice.ToString();
            BLNewCharSkills.Items.Clear();
            foreach (Skills skill in character.CharacterClass.CharacterSkills)
            {
                BLNewCharSkills.Items.Add(EnumPrettify.Prettify(skill.ToString()));
            }

            BackgroundDesc.InnerText = character.CharacterBackground.Name + ": " + character.CharacterBackground.Description;
            BLPersonality.Items.Clear();
            foreach (string personalityTrait in character.CharacterBackground.Personality)
            {
                BLPersonality.Items.Add(personalityTrait);
            }
            BLIdeals.Items.Clear();
            foreach (string ideal in character.CharacterBackground.Ideals)
            {
                BLIdeals.Items.Add(ideal);
            }
            BLBonds.Items.Clear();
            foreach (string bond in character.CharacterBackground.Bonds)
            {
                BLBonds.Items.Add(bond);
            }
            BLFlaws.Items.Clear();
            foreach (string flaw in character.CharacterBackground.Flaws)
            {
                BLFlaws.Items.Add(flaw);
            }

            PhysicalDesc.InnerText    = $"Hair: {character.Hair}, Eyes: {character.Eyes}, Skin: {character.Skin}";
            AdditionalNotes.InnerText = character.AdditionalNotes;
        }
 /// <summary>
 /// Displays race details on the page
 /// </summary>
 /// <param name="race">Race to be displayed</param>
 private void DisplayRace(Race race)
 {
     LblRaceName.Text   = race.Name;
     RaceDesc.InnerText = race.Description;
     BLLanguages.Items.Clear();
     foreach (Language language in race.Languages)
     {
         BLLanguages.Items.Add(EnumPrettify.Prettify(language.ToString()));
     }
 }
        private void ClassLinks()
        {
            string       classIDstr = "";
            ClassDAO     cDAO       = new ClassDAO();
            List <Class> classList  = cDAO.GetAllClasses();

            if (Request.QueryString.AllKeys.Contains("classID"))
            {
                classIDstr = Request.QueryString.Get("classID");
            }

            //checks to make sure that the string isn't null
            if (classIDstr.Length > 0)
            {
                int   classID     = int.Parse(classIDstr);
                Class pulledClass = cDAO.GetClass(classID);
                name.InnerHtml         = pulledClass.Name;
                description.InnerHtml  = pulledClass.Description;
                descriptor2.InnerHtml  = "<br>Features:";
                descriptor2.InnerHtml += "<br>";
                foreach (Feature pulledClassFeatures in pulledClass.Features)
                {
                    descriptor2.InnerHtml += pulledClassFeatures.ToString();
                    descriptor2.InnerHtml += "<br>";
                }
                descriptor3.InnerHtml = "<br>Hit Dice is: " + pulledClass.HitDice.ToString();

                descriptor4.InnerHtml  = "<br>Available Skills: ";
                descriptor4.InnerHtml += "<br>";
                foreach (Skills pulledClassSkills in pulledClass.CharacterSkills)
                {
                    descriptor4.InnerHtml += EnumPrettify.Prettify(pulledClassSkills.ToString());
                    descriptor4.InnerHtml += "<br>";
                }
            }

            //connect to db and populate the links div with 1 link for each entry to DB
            links.InnerHtml = "";
            links.InnerHtml = "<a href='EncyclopaediaOverview.aspx' class='text-dark'>> Back</a><br>";
            foreach (Class lClass in classList)
            {
                int    clID   = lClass.ClassId;
                string clName = lClass.Name;
                links.InnerHtml += "<a href=\"EncyclopaediaOverview.aspx?encyclopaediaReq=classes&classID=" + clID + "\" class='text-dark'>" + clName + "</a><br /> ";
            }
        }
        /// <summary>
        /// Displays class details on the page
        /// </summary>
        /// <param name="characterClass">Class to be displayed</param>
        private void DisplayClass(Class characterClass)
        {
            LblClassName.Text   = characterClass.Name;
            ClassDesc.InnerText = characterClass.Description;

            BLFeatures.Items.Clear();
            foreach (Feature feature in characterClass.Features)
            {
                BLFeatures.Items.Add(feature.ToString());
            }

            HitDice.InnerText = characterClass.HitDice.ToString();
            BLSkills.Items.Clear();
            foreach (Skills skill in characterClass.CharacterSkills)
            {
                BLSkills.Items.Add(EnumPrettify.Prettify(skill.ToString()));
            }
        }
        private void RaceLinks()
        {
            string      raceIDstr = "";
            RaceDAO     rDAO      = new RaceDAO();
            List <Race> raceList  = rDAO.GetAllRaces();

            if (Request.QueryString.AllKeys.Contains("raceID"))
            {
                raceIDstr = Request.QueryString.Get("raceID");
            }

            //checks to make sure that the string isn't null
            if (raceIDstr.Length > 0)
            {
                int  raceID     = int.Parse(raceIDstr);
                Race pulledRace = rDAO.GetRace(raceID);
                name.InnerHtml         = pulledRace.Name;
                description.InnerHtml  = pulledRace.Description;
                descriptor2.InnerHtml  = "<br>Languages: ";
                descriptor2.InnerHtml += "<br>";
                foreach (Language pulledRaceLangages in pulledRace.Languages)
                {
                    descriptor2.InnerHtml += EnumPrettify.Prettify(pulledRaceLangages.ToString());
                    descriptor2.InnerHtml += "<br>";
                }
            }

            //connect to db and populate the links div with 1 link for each entry to DB
            links.InnerHtml = "";
            links.InnerHtml = "<a href='EncyclopaediaOverview.aspx' class='text-dark'>> Back</a><br>";
            foreach (Race lRace in raceList)
            {
                int    raID   = lRace.RaceId;
                string raName = lRace.Name;
                links.InnerHtml += "<a href=\"EncyclopaediaOverview.aspx?encyclopaediaReq=races&raceID=" + raID + "\" class='text-dark'>" + raName + "</a><br /> ";
            }
        }