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); }
/// <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); }