public override Packet OnPacketReceive(Packet receivedPacket)
        {
            ClientPacketSharePet clientPacketSharePet = receivedPacket as ClientPacketSharePet;

            ConsoleHelper.Write("Receive - ClientPacketSharePet");

            int    ownerID          = clientPacketSharePet.OwnerUserID;
            int    petID            = clientPacketSharePet.PetID;
            String receiverUserName = clientPacketSharePet.ReceiverUserNick.ToSQL();
            int    sharePower       = clientPacketSharePet.SharePower;

            int receiverID = SQLHelper.GetUserID(receiverUserName);

            //if incorect user
            if (receiverID == -1)
            {
                return(new ServerPacketConfirmation(false, NetworkError.SQL_USER_UNKNOWN));
            }


            //insert new profile into DB
            MySqlCommand sharePetCommand = new MySqlCommand();

            sharePetCommand.Connection  = Program.mySQLManager.MySQLConnection.MysqlConnection;
            sharePetCommand.CommandText =
                $"INSERT INTO `T_Share`(`fkOwnerID`, `fkPetID`, `fkReceiverID`, `sharePower`) VALUES ('{ownerID}','{petID}','{receiverID}','{sharePower}')";

            ServerPacketConfirmation serverPacketConfirmation;

            try
            {
                sharePetCommand.ExecuteNonQuery();

                serverPacketConfirmation = new ServerPacketConfirmation(true, NetworkError.NONE);
            }
            catch (Exception e)
            {
                serverPacketConfirmation = new ServerPacketConfirmation(false, NetworkError.GLOBAL_UNKNOWN);
                Console.WriteLine(e.Message);
            }

            ConsoleHelper.Write("Send - ServerPacketConfirmation");

            return(serverPacketConfirmation);
        }
Esempio n. 2
0
        /// <summary>
        /// Shares the pet.
        /// </summary>
        /// <returns>The pet.</returns>
        /// <param name="user">User.</param>
        /// <param name="pet">Pet.</param>
        /// <param name="receiverUserName">Receiver user name.</param>
        /// <param name="sharePower">Share power.</param>
        public static ServerPacketConfirmation SharePet(PLFUser user, PLFPet pet, String receiverUserName, int sharePower)
        {
            //get user id
            int userID = user.ID;

            //create new packet share pet
            ClientPacketSharePet clientPacketSharePet = new ClientPacketSharePet(userID, pet.PetID, receiverUserName, sharePower);

            //send packet to the server
            ServerPacketConfirmation serverPacketConfirmation = TCPClient.SendPacket(clientPacketSharePet) as ServerPacketConfirmation;

            //if no answer
            if (serverPacketConfirmation == null)
            {
                return(new ServerPacketConfirmation(false, NetworkError.SERVER_UNAVAILABLE));
            }

            return(serverPacketConfirmation);
        }