private void buttonGetDetailsTransfer_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBoxFromIBanTransfer.Text == "")
                {
                    MessageBox.Show("Please enter IBAN on customer !",
                                    "Transfer .", MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
                else
                {
                    modelCustomerTransfer = DataBaseOperations.getCustomer(textBoxFromIBanTransfer.Text);

                    textBoxNameCusotmerTransfer.Text = modelCustomerTransfer.NameCustomer;
                    textBoxEGNCustomerTransfer.Text  = modelCustomerTransfer.EgnCustomer;

                    modelAccountCustomerTransfer       = DataBaseOperations.getBalance(textBoxFromIBanTransfer.Text);
                    textBoxAccountBalanceTransfer.Text = modelAccountCustomerTransfer.Balance.ToString();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void buttonGetDetailsWithdraw_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBoxIbanWithdraw.Text == "")
                {
                    MessageBox.Show("Please enter IBAN on customer !",
                                    "Withdraw .", MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
                else
                {
                    modelCustomerWithdraw = DataBaseOperations.getCustomer(textBoxIbanWithdraw.Text);

                    textBoxNameCustomerWithdraw.Text = modelCustomerWithdraw.NameCustomer;
                    textBoxEGNCustomerWithdraw.Text  = modelCustomerWithdraw.EgnCustomer;

                    ModelAccountCustomer = DataBaseOperations.getBalance(textBoxIbanWithdraw.Text);
                    textBoxAccountBalanceWithdraw.Text = ModelAccountCustomer.Balance.ToString();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
            /// <summary>
            /// Retains the transfer service data in the database table
            /// and the transfer fee in another table
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="receiver"></param>
            /// <param name="amountTransfer"></param>
            public static void TransferMoney(AccountCustomer sender, AccountCustomer receiver,
                                             decimal amountTransfer)
            {
                try
                {
                    if (sender.Iban == null)
                    {
                        throw new ArgumentException("Sender IBAN is null.");
                    }

                    if (DataBaseOperations.getBalance(sender.Iban).Balance >= amountTransfer + GetFeeTransfer(amountTransfer))
                    {
                        string sqlSender = $"select idUserAccount from user_account where iban = @ibanSender;";

                        MySqlCommand command = DataBaseOperations.GetCommand(sqlSender,
                                                                             new MySqlParameter[] { new MySqlParameter("@ibanSender", sender.Iban) });

                        command.Connection.Open();

                        int pkSender = Convert.ToInt32(command.ExecuteScalar());

                        string sqlReseiver = $"select idUserAccount from user_account where iban = @ibanReceiver;";

                        command.CommandText = sqlReseiver;
                        command.Parameters.AddWithValue("@ibanReceiver", receiver.Iban);

                        int pkReceiver = Convert.ToInt32(command.ExecuteScalar());

                        //Transfer
                        string sqlTransfer = $"insert into transfer_customer" +
                                             $"(IDSender_Customer, IDRecipient_Customer, DataOfTransfer, Amount_Transfer) values (" +
                                             $"@IDSender_Customer," +
                                             $"@IDRecipient_Customer," +
                                             $"@DataOfTransfer," +
                                             $"@Amount_Transfer)";

                        MySqlParameter[] parametersTransfer =
                        {
                            new MySqlParameter("@IDSender_Customer",    pkSender),
                            new MySqlParameter("@IDRecipient_Customer", pkReceiver),
                            new MySqlParameter("@DataOfTransfer",       DateTime.Now),
                            new MySqlParameter("@Amount_Transfer",      amountTransfer.ToString().Replace(",", "."))
                        };

                        command.CommandText = sqlTransfer;
                        command.Parameters.AddRange(parametersTransfer);

                        command.ExecuteScalar();

                        //Get Fee
                        //INSERT
                        string sqlChargesTransfer = $"insert into fee_charges_transfer" +
                                                    $"(iduser_account, date_fee, amount) values (" +
                                                    $"@iduser_account," +
                                                    $"@date_fee," +
                                                    $"@amount)";

                        MySqlParameter[] parametersChargesTransfer =
                        {
                            new MySqlParameter("@iduser_account", pkSender),
                            new MySqlParameter("@date_fee",       DateTime.Now),
                            new MySqlParameter("@amount",         GetFeeTransfer(amountTransfer).ToString().Replace(",", "."))
                        };

                        command.CommandText = sqlChargesTransfer;
                        command.Parameters.AddRange(parametersChargesTransfer);

                        command.ExecuteScalar();
                        command.Connection.Close();
                    }
                }
                catch (Exception ex)
                {
                    System.Windows.Forms.MessageBox.Show(ex.Message);
                }
            }