//boton para la cencalacion de las transacciones private void cancelButton_Click(object sender, EventArgs e) { //validacion si la tabla esta vacia if (transactionGridView.Rows.Count == 0) { MessageBox.Show("La tabla esta vacia"); } else { DialogResult result = MessageBox.Show("¿Seguro que desea eliminar este elemento?", "Confirmacion", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (result == DialogResult.Yes) { //tomamos el id de la transaccion string idTransaction = transactionGridView.CurrentRow.Cells[0].Value.ToString(); //establecemos la fecha de hoy para comparacion DateTime date = DateTime.Today; string today = date.ToString("dd/MM/yyyy"); //abrimos conexion Connection.OpenConnection(); //generamos el query MySqlCommand command = new MySqlCommand(String.Format("SELECT * from Transaction WHERE idTransaction = '{0}' AND CancelTransaction = false", idTransaction), Connection.myConnection); MySqlDataReader reader = command.ExecuteReader(); //si existe el registro if (reader.Read()) { //creamos un objeto de tipo transaccion Class.Transaction transaction = new Class.Transaction(reader.GetInt32(0), reader.GetInt32(1), reader.GetInt32(2), reader.GetInt32(3), reader.GetString(4), reader.GetFloat(5), reader.GetInt32(6), reader.GetBoolean(7)); //cerramos conexion Connection.CloseConnection(); string transactionDate = transaction.Date; //comparamos las fechas para la cancelacion //if (today == transactionDate) //{ //validacion de la cuenta a cancelar //obtenga los fondos necesarios para regresar el dinero if (haveBalance(transaction.OrigenAccount, transaction.Quantity)) { MessageBox.Show("La cuenta no contiene el saldo necesario para esta transaccion"); } else { Connection.OpenConnection(); //si la cancelacion es el mismo dia se cancela la transaccion Class.Transaction.deleteTransaction(Connection.myConnection, idTransaction); Connection.CloseConnection(); MessageBox.Show("Eliminado exitosamente"); this.Close(); } //} // else //{ //MessageBox.Show("El tiempo de cancelacion expiro"); //this.Close(); //} } } } }
private void acceptButton_Click(object sender, EventArgs e) { if (origenDataGridView.Rows.Count == 0 || destinationGridView.Rows.Count == 0) { MessageBox.Show("Las tablas estan vacias"); } else if (origenDataGridView.CurrentRow.Cells[0].Value.ToString() == destinationGridView.CurrentRow.Cells[0].Value.ToString()) { MessageBox.Show("No se puede transferir a la misma cuenta"); } else if (quantityTextBox.Text == "") { MessageBox.Show("Favor de llenar todos los campos"); } else { //Abrimos conexion con la db Connection.OpenConnection(); //tomamos el id del cliente origen string idOrigenClient = origenDataGridView.CurrentRow.Cells[0].Value.ToString(); //obtenemos el id de la cuenta int idOrigen = Class.Account.searchIdAccount(Connection.myConnection, idOrigenClient); //cerramos la conexion a la db Connection.CloseConnection(); //abrimos conexion a db Connection.OpenConnection(); //tomamos el id del cliente destino string idDestinationClient = destinationGridView.CurrentRow.Cells[0].Value.ToString(); //obtenemos el id de la cuenta int idDestination = Class.Account.searchIdAccount(Connection.myConnection, idDestinationClient); //ceramos conexion a db Connection.CloseConnection(); //establecemos el tipo de cuenta int type; if (accountTypeComboBox.SelectedIndex == 0) { // 0 = Credito type = 0; } else { //1 = Debito type = 1; } //abrimos conexion Connection.OpenConnection(); //realizamos el query para la cuenta MySqlCommand command = new MySqlCommand(String.Format("SELECT * from Account WHERE idAccount = '{0}' AND Active = true", idOrigen), Connection.myConnection); MySqlDataReader reader = command.ExecuteReader(); //si la cuenta existe entramos if (reader.Read()) { //se genera un objeto de tipo cuenta con todos los datos de la cuenta origen Class.Account valAccount = new Class.Account(reader.GetInt32(0), reader.GetInt32(1), reader.GetString(2), reader.GetFloat(3), reader.GetFloat(4), reader.GetString(5), reader.GetInt32(6), reader.GetBoolean(7)); //se cierra la conexion Connection.CloseConnection(); //validacion si el saldo de la cuenta es menor a la cantidad se genera un mensaje de error if (valAccount.Balance < Convert.ToInt32(quantityTextBox.Text)) { MessageBox.Show("La cuenta origen no tiene el saldo suficiente"); } else { //abrimos conexion a db Connection.OpenConnection(); //establecemos la fecha de la transaccion DateTime today = DateTime.Today; string date = today.ToString("yyyyMMdd"); //creamos el objeto de tipo transaccion Class.Transaction transaction = new Class.Transaction(1, idOrigen, idDestination, idEployee, date, float.Parse(quantityTextBox.Text), type, false); //intentamos ingresar a la db if (Class.Transaction.addTransaction(Connection.myConnection, transaction) == 1) { //cerramos conexion Connection.CloseConnection(); MessageBox.Show("Se ha transferido el dinero"); this.Close(); } } } } }