public static void AddFriend(Client.GameState client, Friend friend)
 {
     MySqlCommand cmd = new MySqlCommand(MySqlCommandType.INSERT);
     cmd.Insert("friends").Insert("entityid", client.Entity.UID).Insert("friendid", friend.ID)
         .Insert("friendname", friend.Name).Execute();
     cmd = new MySqlCommand(MySqlCommandType.INSERT);
     cmd.Insert("friends").Insert("entityid", friend.ID).Insert("friendid", client.Entity.UID)
         .Insert("friendname", client.Entity.Name).Execute();
 }
        /* public static void LoadKnownPersons(Client.GameState client)
        {
            client.Friends = new SafeDictionary<uint, Friend>(50);
            client.Enemy = new SafeDictionary<uint, PhoenixProject.Game.ConquerStructures.Society.Enemy>(10);
            client.Partners = new SafeDictionary<uint, TradePartner>(40);
            client.Apprentices = new SafeDictionary<uint, PhoenixProject.Game.ConquerStructures.Society.Apprentice>(10);
            FriendXCollection entities = new FriendXCollection();
            entities.LoadAndCloseReader(FriendX.FetchByParameter("EntityID", client.Entity.UID));
            for (int x = 0; x < entities.Count; x++)
            {
                Friend friend = new Friend();
                friend.ID = (uint)entities[x].FriendID;
                friend.Name = entities[x].FriendName;
                friend.Message = entities[x].Message;
                client.Friends.Add(friend.ID, friend);
            }

            EnemyCollection entities2 = new EnemyCollection();
            entities2.LoadAndCloseReader(Conquer.Database.Enemy.FetchByParameter("EntityID", client.Entity.UID));
            for (int x = 0; x < entities2.Count; x++)
            {
                PhoenixProject.Game.ConquerStructures.Society.Enemy enemy = new PhoenixProject.Game.ConquerStructures.Society.Enemy();
                enemy.ID = (uint)entities2[x].EnemyID;
                enemy.Name = entities2[x].EnemyName;
                client.Enemy.Add(enemy.ID, enemy);
            }

            PartnerCollection entities3 = new PartnerCollection();
            entities3.LoadAndCloseReader(Conquer.Database.Partner.FetchByParameter("EntityID", client.Entity.UID));
            for (int x = 0; x < entities3.Count; x++)
            {
                TradePartner partner = new TradePartner();
                partner.ID = (uint)entities3[x].PartnerID;
                partner.Name = entities3[x].PartnerName;
                partner.ProbationStartedOn = DateTime.FromBinary(entities3[x].ProbationStartedOn);
                client.Partners.Add(partner.ID, partner);
            }

            ApprenticeCollection entities4 = new ApprenticeCollection();
            entities4.LoadAndCloseReader(Conquer.Database.Apprentice.FetchByParameter("MentorID", client.Entity.UID));
            for (int x = 0; x < entities4.Count; x++)
            {
                PhoenixProject.Game.ConquerStructures.Society.Apprentice app = new PhoenixProject.Game.ConquerStructures.Society.Apprentice();
                app.ID = (uint)entities4[x].ApprenticeID;
                app.Name = entities4[x].ApprenticeName;
                app.EnroleDate = (uint)entities4[x].EnroleDate;
                app.Actual_Experience = (ulong)entities4[x].ActualExperience;
                app.Total_Experience = (ulong)entities4[x].TotalExperience;
                app.Actual_Plus = (ushort)entities4[x].ActualPlus;
                app.Total_Plus = (ushort)entities4[x].TotalPlus;
                app.Actual_HeavenBlessing = (ushort)entities4[x].ActualHeavenBlessing;
                app.Total_HeavenBlessing = (ushort)entities4[x].TotalHeavenBlessing;
                client.PrizeExperience += app.Actual_Experience;
                client.PrizePlusStone += app.Actual_Plus;
                client.PrizeHeavenBlessing += app.Actual_HeavenBlessing;
                client.Apprentices.Add(app.ID, app);
                client.apprtnum += 1;

                if (client.PrizeExperience > 50 * 606)
                    client.PrizeExperience = 50 * 606;
            }

            ApprenticeCollection entities5 = new ApprenticeCollection();
            entities5.LoadAndCloseReader(Conquer.Database.Apprentice.FetchByParameter("ApprenticeID", client.Entity.UID));
            for (int x = 0; x < entities5.Count; x++)
            {
                client.Mentor = new Mentor();
                client.Mentor.ID = (uint)entities5[x].MentorID;
                client.Mentor.Name = entities5[x].MentorName;
                client.Mentor.EnroleDate = (uint)entities5[x].EnroleDate;
                client.AsApprentice = new PhoenixProject.Game.ConquerStructures.Society.Apprentice();
                client.AsApprentice.ID = client.Entity.UID;
                client.AsApprentice.Name = client.Entity.Name;
                client.AsApprentice.EnroleDate = client.Mentor.EnroleDate;
                client.AsApprentice.Actual_Experience = (ulong)entities5[x].ActualExperience;
                client.AsApprentice.Total_Experience = (ulong)entities5[x].TotalExperience;
                client.AsApprentice.Actual_Plus = (ushort)entities5[x].ActualPlus;
                client.AsApprentice.Total_Plus = (ushort)entities5[x].TotalPlus;
                client.AsApprentice.Actual_HeavenBlessing = (ushort)entities5[x].ActualHeavenBlessing;
                client.AsApprentice.Total_HeavenBlessing = (ushort)entities5[x].TotalHeavenBlessing;
            }
        }*/
        public static void LoaderFriends(Client.GameState client)
        {
            client.Friends = new SafeDictionary<uint, Friend>(50);

            MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT);
            cmd.Select("friends").Where("EntityID", client.Entity.UID);
            MySqlReader reader = new MySqlReader(cmd);
            while (reader.Read())
            {
                Friend friend = new Friend();
                friend.ID = reader.ReadUInt32("FriendID");
                friend.Name = reader.ReadString("FriendName");
                friend.Message = reader.ReadString("Message");
                client.Friends.Add(friend.ID, friend);
            }
            reader.Close();
            reader.Dispose();
        }